📜  rust 从字符串中的分隔数据创建 hashmap - Rust (1)

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

Rust 从字符串中的分隔数据创建 hashmap

在 Rust 中,有时我们需要从字符串中的分隔数据集合创建 HashMap。这种操作通常存在于处理文本文件、解析 CSV 文件、读取配置文件等场景中。

下面是一个示例代码,我们将演示如何读取字符串,解析其中包含的键值对数据,在创建一个 HashMap

代码实现
use std::collections::HashMap;

fn main() {
    let data = "name:John,Wilson age:63 gender:male location:Los Angeles";

    // 解析数据
    let mut map = HashMap::new();

    for key_val in data.split(",") {
        let parts: Vec<&str> = key_val.split(":").collect();
        let key = parts[0];
        let val = parts[1];
        map.insert(key.to_string(), val.to_string());
    }

    // 打印 hashmap 
    for (key, val) in &map {
        println!("{}: {}", key, val);
    }
}
代码分析

首先在 main 函数中定义了一组数据,以字符串的形式存储了键值对数据集合。接下来定义了一个空的 HashMap,用于存储解析后的数据。for 循环迭代集合中所有的键值对数据,通过 split() 方法将字符串分割成一个个的键值对,并使用 collect() 方法将分割后的数据放入一个字符串数组中。代码中 parts[0] 表示分割后的第一个元素,也就是键部分,同样的方式获取分割后的第二个元素,也就是值部分,最后将解析到的数据键值对存入 map 哈希表中。

最后,使用一个 for 循环打印哈希表中所有的键值对数据。

运行结果
location: Los Angeles
name: John,Wilson
age: 63
gender: male

以上就是 Rust 从字符串中的分隔数据创建 HashMap 的示例,希望对大家有所帮助!