C++ Qt-使用几种类型的空格作为分隔符拆分QString
我想拆分一个QString。QString中有几个单词,由以下一个或多个(!)符号分隔:C++ Qt-使用几种类型的空格作为分隔符拆分QString,c++,regex,qt,split,qstring,C++,Regex,Qt,Split,Qstring,我想拆分一个QString。QString中有几个单词,由以下一个或多个(!)符号分隔: 空白 标签 铬 LF 我只想提取单词。基本上,我试图复制Python str.split()函数的行为 我知道我可以使用正则表达式来实现这一点,但它会是什么样子呢?任何其他直接的方法都是受欢迎的。注意,CR、LF和tab已经是空白。如果需要匹配空白,可以使用: \s匹配空白字符() 那么,使用 QStringList list = str.split(QRegExp("\\s+"), QString::
- 空白
- 标签
- 铬
- LF
\s
匹配空白字符()
那么,使用
QStringList list = str.split(QRegExp("\\s+"), QString::SkipEmptyParts);
如果计划拆分具有特定字符的字符串,请使用
[…]
字符集可以用方括号表示,类似于完整的正则表达式。在character类内部,与外部一样,反斜杠没有特殊意义
那么,试试看
QStringList list = str.split(QRegExp("[\r\n\t ]+"), QString::SkipEmptyParts);
当需求发生变化时,您可以稍后放大列表。那么,您尝试过
“\\s+”
了吗?我遇到过这个特殊的regexp,是的。但我不确定它是否涵盖了所有的案例,它似乎已经足够了。尝试QStringList=str.split(QRegExp(“\\s+”),QString::skipmptyparts)代码>。否则,请尝试\\W+
(\W
匹配非单词字符,并且将在比\s
更多的情况下拆分)谢谢,我将试一试,看看它是否足以容纳我将运行此操作的数据。