📅  最后修改于: 2023-12-03 15:22:43.093000             🧑  作者: Mango
在Rust中,我们可以使用字符串的slice
来删除第一个和最后一个字符。下面是一个例子:
fn main() {
let my_string = String::from("Hello, world!");
let slice = &my_string[1..my_string.len()-1];
println!("{}", slice);
}
在上面的例子中,我们通过slice
去掉了字符串的第一个和最后一个字符,然后使用println!
来输出结果。
let my_string = String::from("Hello, world!");
: 创建一个包含"Hello, world!"
的字符串。let slice = &my_string[1..my_string.len()-1];
: 创建一个slice
,该slice
包含my_string
的第一个和最后一个字符中间的所有字符。println!("{}", slice);
: 输出slice
的值。在上面的代码示例中,我们使用了[start..end]
的语法,它表示从start
索引(包含)到end
索引(不包含)的所有字符。在这种情况下,我们从第二个字符(索引为1
)开始,并排除最后一个字符(索引为my_string.len()-1
)。
为了使代码更加通用,我们可以将上面的代码封装成一个函数,以接受任何类型的字符串,并返回没有第一个和最后一个字符的新字符串:
fn strip_ends(s: &str) -> &str {
&s[1..s.len()-1]
}
fn main() {
let my_string = String::from("Hello, world!");
let new_string = strip_ends(&my_string);
println!("{}", new_string);
}
在上面的代码示例中,我们将上面的代码封装成了一个名为strip_ends
的函数。在strip_ends
函数中,我们使用了相同的slice
操作来去掉字符串的第一个和最后一个字符。然后我们在main
函数中调用strip_ends
函数,并使用println!
输出结果。