例如,我有一个文件,其中的行如下所示:
KEY1=value1
KEY2=value2
Run Code Online (Sandbox Code Playgroud)
有时字符串的值部分也包含=字符:
KEY1=value1=thing1
KEY2=value2=thing2
Run Code Online (Sandbox Code Playgroud)
在 Python 中,如果我只想要 KEY=value 对,那么我会这样做:
>>> s = "KEY1=value1=thing1"
>>> key, value = s.split("=", 1)
>>> print(key)
KEY1
>>> print(value)
value1=thing1
Run Code Online (Sandbox Code Playgroud)
在我看来,如何在 Rust 中做到这一点并不明显。
kmd*_*eko 12
使用split_once。Some((before, after))如果分隔符存在则返回,None如果不存在则返回。
fn main() {
let s = "KEY1=value1=thing1";
match s.split_once('=') {
Some((key, value)) => {
println!("key: {}", key);
println!("value: {}", value);
}
None => {
println!("expected a key-value pair");
}
}
}
Run Code Online (Sandbox Code Playgroud)
fn main() {
let s = "KEY1=value1=thing1";
match s.split_once('=') {
Some((key, value)) => {
println!("key: {}", key);
println!("value: {}", value);
}
None => {
println!("expected a key-value pair");
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2463 次 |
| 最近记录: |