【问题标题】:Split string into vector将字符串拆分为向量
【发布时间】:2020-11-08 21:33:00
【问题描述】:

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

我怎样才能做到这一点?

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

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

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

inputs.at(0): 你好

inputs.at(1): 先生

inputs.at(2): 我的

inputs.at(3): 名称

inputs.at(4): 是

inputs.at(5): ada-m

【问题讨论】:

  • 这里有一个简单的方法来弄清楚如何做到这一点,它永远不会失败。只需拿出一张白纸。用简单的英语用简短、简单的句子写下一个逐步的过程。完成后,call your rubber duck for an appointment。我们不会在 Stackoverflow 上为其他人编写整个程序。我们总是向您的橡皮鸭提出此类问题。在您的橡皮鸭批准您提出的行动计划后,只需将您写下的内容直接翻译成 C++。任务完成!

标签: c++ string vector split


【解决方案1】:

这是一个简单的算法

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

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 1970-01-01
    • 2020-01-26
    • 2014-10-21
    • 2015-11-30
    • 1970-01-01
    • 2014-09-16
    • 2014-09-27
    • 2016-04-18
    相关资源
    最近更新 更多