如何删除字符串的第一个和最后一个字符在生 rust ?

ajsxfq5m  于 2022-11-30  发布在  其他
关注(0)|答案(4)|浏览(224)

我想知道如何删除Rust中字符串的第一个和最后一个字符。
示例:
输入:
"Hello World"
输出量:
"ello Worl"

2wnc66cl

2wnc66cl1#

您可以使用.chars()迭代器并忽略第一个和最后一个字符:

fn rem_first_and_last(value: &str) -> &str {
    let mut chars = value.chars();
    chars.next();
    chars.next_back();
    chars.as_str()
}

对于零或一个大小的字符串,它返回一个空字符串,并且它将正确处理多字节的unicode字符。

mjqavswn

mjqavswn2#

......或微不足道的解决方案

  • 也适用于Unicode字符:*
let mut s = "Hello World".to_string();
s.pop();      // remove last
if s.len() > 0 {
    s.remove(0);  // remove first
}
rqqzpn5f

rqqzpn5f3#

我是通过使用字符串切片来实现的。

fn main() {
    let string: &str = "Hello World";
    let first_last_off: &str = &string[1..string.len() - 1];
    println!("{}", first_last_off);
}

我把字符串中的所有字符取到字符串的末尾- 1。

lnvxswe2

lnvxswe24#

您也可以使用split_at()。

let msg = "Hello, world!";
let msg = msg.split_at(msg.len() - 1);
let msg = msg.0.split_at(1);
println!("{}", msg.1);

ello, world

split_at()会传回下列值:(&str, &str) .

相关问题