拆分字符串C ++ [重复]

Posted

技术标签:

【中文标题】拆分字符串C ++ [重复]【英文标题】:Split String C++ [duplicate] 【发布时间】:2012-03-06 03:53:24 【问题描述】:

可能重复:How to split a string in C++?

我需要将我的字符串拆分为

1. ***
2. Sky
3. CLOUD
4. Sun
11. Moon
12.Star

进入

***
sky
cloud
sun
moon
star.

在C++中怎么做,在vb中应该是这样的

string test= 1. ***
 string spliteed = test.split(.)

不知道在 c++ 中是怎样的。谢谢建议

【问题讨论】:

我同意这几乎是上述问题的重复。 好像你想从字符串中提取数字?另外,您的 vb 示例看起来不正确,为什么 test=1.sky 您的字符串以字母 1.*** 开头? 【参考方案1】:

看来你的字符串已经被分割了,你只是删除了数字。如果是这种情况,请使用 Boost Regex(正则表达式)来拆分字符串,您可以使用 boost split 函数。 Boost 是一组 C++ 库。谷歌一下。

【讨论】:

【参考方案2】:

您可以使用stringstream 类来消费整数和点:

#include <string>
#include <iostream>
#include <sstream>
using namespace std;

int main(int argc, char* argv[])

    string str = "1. sky";
    stringstream sstr(str);
    int i;
    char c;
    string s;

    sstr >> i >> c >> s;
    cout << s << endl;

    return 0;

【讨论】:

谢谢。如果 string str= "1. SKY BLUE" 之间,s 将等于天空。如何变成天蓝色 好吧,你可以继续阅读:sstr &gt;&gt; i &gt;&gt; c; while(sstr &gt;&gt; s) // do something with s 。提取所有单词后,循环将终止。

以上是关于拆分字符串C ++ [重复]的主要内容,如果未能解决你的问题,请参考以下文章

拆分字符串C ++ [重复]

在C中使用多个分隔符拆分字符串[重复]

Python:拆分字符串,尊重并保留引号[重复]

如何拆分字符串并重复字符? [复制]

在c#中拆分逗号分隔多个字符串[重复]

将一列字符串拆分为几列[重复]