【问题标题】:Why does my vector have 2 additional elements?为什么我的向量有 2 个附加元素?
【发布时间】:2020-11-09 01:30:09
【问题描述】:

我从stdin() 获取输入并将其拆分为Vec<char>

由于某种原因,我的向量末尾有 2 个元素。谁能告诉我他们为什么在那里以及如何摆脱他们?

这是我将输入拆分为Vec<char>

// Splits regEx into vector of chars
let mut reg_ex: Vec<char> = input.chars().collect();

这是遍历Vec的代码:

let mut i = 0;
for character in &reg_ex {
  println!("{} {}", i, character);
  i = i + 1;
}

这是我得到的输出,最后有 2 个额外元素:

User input required: 
aaa
0 a
1 a
2 a
3
4

【问题讨论】:

  • 可能是\r\n

标签: vector rust


【解决方案1】:

假设您使用的是 Windows,这些可能是换行符 \r\n

您可以通过在input 上调用.trim_end() 来摆脱它们。请注意,如果您想保留它,这也会删除行尾的任何空格。

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    相关资源
    最近更新 更多