rust 如何将Vec &lt;&amp;str&gt;转换为Vec< String>?

m1m5dgzv  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(133)
let parts: Vec<String> = line.split_whitespace().collect();
let parts: Vec<String> = map(AsRef::as_ref).line.split_whitespace().collect();
if parts.len() >= 3 {
    let attribute_name = parts[1].to_string();
    let attribute_type = parts[2].to_lowercase();
    let attribute = match attribute_type.as_str() {
        "numeric" => Attribute::Numeric,
        "date" => Attribute::Date(parts.get(3).cloned()),
        "string" => Attribute::String,
        "nominal" => {
            let nominal_values: Vec<String> = parts[3..]
                .iter()
                .map(|s| s.trim_matches(|c| c == '{' || c == '}' || c == ',').to_string())
                .collect();
            Attribute::Nominal(nominal_values)
        }

我的目标是在Rust中实现一个用于加载和阅读.arff文件的算法。它读取一个.arff文件,从头文件、属性和示例中提取信息,然后在输出中打印出来。每个属性在数组属性中表示为一对(名称、类型),示例存储为属性值数组 在数组示例中。

smtd7mpg

smtd7mpg1#

您需要Map向量的值。就像这样:

let parts: Vec<String> = line.split_whitespace().map(|v| v.to_string()).collect();

相关问题