首页 > 解决方案 > 将字符串拆分为向量

问题描述

例如,任何不同于a b c..x y zorA B C..X Y Z的字符-都需要分隔并放入向量中。

我怎样才能做到这一点?

std::string inputLine;
vector<string> inputs;
getline(std::cin, inputLine);

此时我从用户输入中获得了字符串,我该如何拆分它?

例如:hello,sir my nameéis ada-m应该放在一个向量中,如下所示

输入.at(0):你好

input.at(1): 先生

input.at(2): 我的

input.at(3): 名称

输入.at(4): 是

输入.at(5): ada-m

标签: c++stringvectorsplit

解决方案


这是一个简单的算法

  • 创建一个空的字符串向量inputs
  • 创建一个空字符串s
  • 遍历c输入字符串的每个字符inputLine
    • 如果c'a' 'b' 'c'..'x' 'y' 'z''A' 'B' 'C'..'X' 'Y' 'Z''-'
      • 附加cs
    • 别的
      • 附加sinputs(您也可以检查是否s为空)
      • 清除s
  • 将最后一个字符串附加sinputs(您也可以检查是否s为空)

推荐阅读