在qt里有一段文本"X0 Y0; 中文测试哈哈\r\nX0 X \n\r\n\n\r\n",怎样以“\r\n"或“\n”分割,并保留空行
时间: 2023-09-07 14:17:35 浏览: 151
你可以使用QString的split函数来将文本分割成一行一行的字符串。然后再去掉每行字符串开头和结尾的空白字符(包括空格、制表符、换行符等),这样就可以保留空行了。以下是一个示例代码:
```cpp
QString text = "X0 Y0; 中文测试哈哈\r\nX0 X \n\r\n\n\r\n";
QStringList lines = text.split(QRegExp("[\r\n]+"), QString::SkipEmptyParts);
for (const QString& line : lines)
{
QString trimmedLine = line.trimmed();
// 处理每行字符串
}
```
其中,`split(QRegExp("[\r\n]+"), QString::SkipEmptyParts)`表示使用正则表达式`[\r\n]+`来分割文本,这个正则表达式表示一个或多个回车符或换行符。`QString::SkipEmptyParts`表示跳过空字符串。`trimmed()`函数用于去掉每行字符串开头和结尾的空白字符。
阅读全文