QString split 跳过换行和空格且按照需要的划分方式划分
时间: 2024-05-15 22:16:25 浏览: 4
可以使用正则表达式来实现按照需要的划分方式划分,并使用QStringList存储结果。
例如,假设需要按照“,”、“。”、“!”、“?”作为分隔符划分字符串,可以使用以下代码:
```cpp
QString str = "Hello, world. How are you today! I am fine, thank you?";
QStringList list = str.split(QRegExp("[,\\.!?\\s]+"), QString::SkipEmptyParts);
```
其中,QRegExp("[,\\.!?\\s]+")表示使用“,”、“。”、“!”、“?”和空格作为分隔符,QString::SkipEmptyParts表示跳过空的分隔符结果。最终结果存储在QStringList list中。
相关问题
QString split 跳过换行和空格’
在Qt中,QString的split函数可以使用正则表达式作为分隔符。因此,您可以使用正则表达式来跳过换行和空格。
以下是一个示例代码,它使用正则表达式\s+作为分隔符,该表达式匹配一个或多个空格或制表符:
```
QString str = "hello world\nhow are you";
QStringList list = str.split(QRegExp("\\s+"));
foreach(QString s, list) {
qDebug() << s;
}
```
输出将是:
```
"hello"
"world"
"how"
"are"
"you"
```
在这个例子中,我们使用了QRegExp类来创建正则表达式,然后将其作为参数传递给split函数。注意,反斜杠需要被转义。
如果您只想跳过换行符,可以使用正则表达式\n作为分隔符。如果您只想跳过空格,可以使用正则表达式\s作为分隔符。
QString split
QString的split()函数可以用来分割字符串。它接受一个分隔符作为参数,并返回一个QStringList对象,其中包含原始字符串中所有使用分隔符分隔的子字符串。例如,如果我们有一个字符串"hello,world",我们可以使用split()函数将其分割成两个子字符串"hello"和"world",如下所示:
QString str = "hello,world";
QStringList list = str.split(",");
// list现在包含两个元素:"hello"和"world"