C++ 拆分字符串C++;
可能重复:C++ 拆分字符串C++;,c++,string,visual-c++,split,C++,String,Visual C++,Split,可能重复: 我需要把我的绳子分开 1. StackOverflow 2. Sky 3. CLOUD 4. Sun 11. Moon 12.Star 进入 如何在C++中,在VB中,就要这样做< /P> string test= 1. StackOverflow string spliteed = test.split(.) 在C++中没有思想是如何实现的。Thx提示您的字符串似乎已经被拆分,您只是在删除数字。如果是这种情况,请使用boostregex(正则表达式)else来拆分字符串,您
我需要把我的绳子分开
1. StackOverflow
2. Sky
3. CLOUD
4. Sun
11. Moon
12.Star
进入
<>如何在C++中,在VB中,就要这样做< /P>
string test= 1. StackOverflow
string spliteed = test.split(.)
在C++中没有思想是如何实现的。Thx提示您的字符串似乎已经被拆分,您只是在删除数字。如果是这种情况,请使用boostregex(正则表达式)else来拆分字符串,您可以使用boostsplit函数。Boost是C++中的一组库。使用谷歌搜索。您可以使用
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;
}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
string str=“1.sky”;
stringstream sstr(str);
int i;
字符c;
字符串s;
sstr>>i>>c>>s;
难道我不同意这与上面提到的问题几乎是重复的。似乎你想从字符串中提取数字?而且,你的vb示例看起来不正确,为什么test=1.sky
你的字符串以字母1.Stackoverflow
开头?Thx.between if string str=“1.sky BLUE”s将等于天空。如何成为天空蓝井,你可以连续阅读:sstr>>i>>c;而(sstr>>s){//用s做点什么}
。提取所有单词后,循环将终止。
#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;
}