Java有一个方便的拆分方法:
String str = "The quick brown fox";
String[] results = str.split(" ");
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法在C++中执行此操作?
我使用以下代码在C++中解析字符串:
string parsed,input="text to be parsed";
stringstream input_stringstream(input);
if(getline(input_stringstream,parsed,' '))
{
// do some processing.
}
Run Code Online (Sandbox Code Playgroud)
使用单个char分隔符进行解析很好.但是如果我想使用字符串作为分隔符该怎么办呢.
示例:我想拆分:
scott>=tiger
Run Code Online (Sandbox Code Playgroud)
用> =作为分隔符,这样我就能得到斯科特和老虎.
如果我有一个包含以逗号分隔的数字列表的std :: string,那么解析数字并将它们放在整数数组中的最简单方法是什么?
我不想将其概括为解析其他任何内容.只是一个逗号分隔整数的简单字符串,如"1,1,1,1,2,1,1,1,0".
我有以下代码:
std::string str = "abc def,ghi";
std::stringstream ss(str);
string token;
while (ss >> token)
{
printf("%s\n", token.c_str());
}
Run Code Online (Sandbox Code Playgroud)
输出是:
abc
def,ghi
因此,stringstream::>>运算符可以按空格分隔字符串,但不能用逗号分隔.反正有没有修改上面的代码,以便我可以得到以下结果?
输入:"abc,def,ghi"
输出:
abc
def
ghi
可能重复:
如何在C++中拆分字符串?
在C++中拆分字符串的最佳方法?可以假设该字符串由分隔的字组成;
从我们的指南角度来看,不允许使用C字符串函数,也不允许使用Boost,因为不允许使用安全锥形开源.
我现在最好的解决方案是:
string str("denmark; sweden; india; us");
str上面应该作为字符串存储在vector中.我们怎样才能做到这一点?
感谢您的投入.
不要混淆如何拆分字符串解析明智,例如:
在C++中拆分字符串?
关于如何在c ++中将字符串拆分为多行,我感到有点困惑.
这听起来像一个简单的问题,但请采取以下示例:
#include <iostream>
#include <string>
main() {
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" +
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" &
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我意识到我可以使用这个std::string append()方法,但我想知道是否有任何更短/更优雅(例如更多pythonlike,但显然三重引号等在c ++中不支持)的方式将c ++中的字符串分解为多行为了缘故可读性. …
可能重复:
如何拆分字符串?
将字符串拆分为字符串向量的正确方法是什么.分隔符是空格或逗号.
使用c ++ 11拆分字符串最简单的方法是什么?
我已经看过这篇文章所使用的方法,但我觉得使用新标准应该采用一种不那么冗长的方式.
编辑:我希望得到一个vector<string>结果,并能够划分单个字符.
如果我有一个需要满足这些要求的if语句:
if(cave > 0 && training > 0 && mobility > 0 && sleep > 0)
Run Code Online (Sandbox Code Playgroud)
有没有办法说它们都大于零?只是为了更有效的DRY代码?
就像是:
if(cave, training, mobility, sleep > 0)
Run Code Online (Sandbox Code Playgroud) c++ ×9
string ×6
split ×3
parsing ×2
tokenize ×2
c++11 ×1
coding-style ×1
csv ×1
if-statement ×1
javascript ×1
readability ×1
stl ×1
stringstream ×1
syntax ×1