📌  相关文章
📜  删除字符串的第一个和最后一个字母 - Rust (1)

📅  最后修改于: 2023-12-03 15:22:43.093000             🧑  作者: Mango

删除字符串的第一个和最后一个字母 - Rust

在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!输出结果。