📜  rustlang 获取子字符串 - Rust (1)

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

Rust: 获取子字符串

在 Rust 中获取子字符串非常简单,可以使用 slice (切片) 操作符或 substring (子字符串) 方法。在本文中,我们将讨论如何使用这些方法来获取子字符串。

通过 slice 操作符获取子字符串

通过 slice 操作符获取子字符串可以使用以下语法:

let s = "Hello, Rust!";
let substring = &s[start_index..end_index];

这里的 start_index 是子字符串的起始索引,而 end_index 是子字符串的结束索引 (不包含在内)。以上例子中,substring 将包含字符串 "Rust"

需要注意的是,如果索引越界或 end_index 大于 start_index,程序将会崩溃。我们可以使用 s.len() 方法来避免这种情况:

let s = "Hello, Rust!";
let start_index = 7;
let end_index = start_index + 4;

if end_index <= s.len() {
    let substring = &s[start_index..end_index];
    println!("{}", substring);
} else {
    println!("end_index out of bounds");
}

以上代码将输出子字符串 "Rust"

通过 substring 方法获取子字符串

通过 substring 方法获取子字符串可以使用以下语法:

let s = "Hello, Rust!";
let substring = s.substring(start_index, end_index);

这里的 start_index 是子字符串的起始索引,而 end_index 是子字符串的结束索引 (不包含在内)。

需要注意的是,Rust 中的 substring 方法并不是标准库的一部分。如果需要使用该方法,需要先导入字符串切片扩展包 (strum):

use strum::Slice;

let s = "Hello, Rust!";
let substring = s.substring(7, 11);
println!("{}", substring); // 输出:"Rust"
总结

在 Rust 中获取子字符串可以使用 slice 操作符或 substring 方法,两种方法都能够轻松地获取子字符串。需要注意的是,当索引越界时,我们需要使用 s.len() 方法来避免程序崩溃。