gpt4 book ai didi

c++ - Qt - 拆分 QString,使用几种类型的空格作为分隔符

转载 作者:可可西里 更新时间:2023-11-01 17:44:48 34 4
gpt4 key购买 nike

我想拆分一个 QString。 QString 中有几个单词,由以下符号中的一个或多个(!)分隔:

  • 空格
  • 标签
  • 回复
  • LF

我只想提取单词。基本上,我试图复制 Python str.split() 函数的行为。

我知道我可以使用正则表达式来实现这一点,但它会是什么样子呢?也欢迎任何其他实现此目的的直接方法。

最佳答案

请注意,CR、LF 和制表符 已经是空白。如果您需要匹配空格,您可以依赖 shorthand character class \s :

\s Matches a whitespace character (QChar::isSpace()).

所以,使用 then

QStringList list = str.split(QRegExp("\\s+"), QString::SkipEmptyParts);

如果您打算用特定字符拆分字符串,请使用 character class .

[...] Sets of characters can be represented in square brackets, similar to full regexps. Within the character class, like outside, backslash has no special meaning.

然后,试试

QStringList list = str.split(QRegExp("[\r\n\t ]+"), QString::SkipEmptyParts);

当需求发生变化时,您可以稍后扩大列表。

关于c++ - Qt - 拆分 QString,使用几种类型的空格作为分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667560/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com