📅  最后修改于: 2023-12-03 15:19:53.410000             🧑  作者: Mango
在 Rust 中获取子字符串非常简单,可以使用 slice
(切片) 操作符或 substring
(子字符串) 方法。在本文中,我们将讨论如何使用这些方法来获取子字符串。
通过 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 方法获取子字符串可以使用以下语法:
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()
方法来避免程序崩溃。