QT软件里,QStringList split怎么使用?
时间: 2024-10-25 08:12:15 浏览: 10
在QT中,`QStringList` 是一个动态字符串列表,它的 `split()` 函数用于将一个字符串按照指定的分隔符切割成多个子字符串,并返回一个新的 `QStringList` 对象。这里是一个基本的使用示例:
```cpp
QString inputString = "This is a test string; with; several; parts";
QRegExp separator(";", Qt::CaseInsensitive); // 此处设置分隔符和大小写敏感性
QList<QString> QStringListResult = inputString.split(separator); // 使用 QRegExp 作为分隔符
for (int i = 0; i < QStringListResult.size(); ++i) {
qDebug() << "Part " << i << ": " << QStringListResult.at(i);
}
```
在这个例子中,`inputString` 将会被根据分号 `;` 分割,得到的结果会保存在 `QStringListResult` 中。你可以通过遍历这个列表获取每一个单独的子字符串。
`split()` 函数还可以接受一个 `Qt::TextCodec::codecName` 或者 `QByteArray` 作为第二个参数,来指定如何编码分隔符,以及是否允许空部分。例如,如果你想使用 `QString` 类型的点`.`作为分隔符,并忽略空的部分,可以这样做:
```cpp
QString str = "1.2.3.4";
QStringList parts = str.split(".", QString::SkipEmptyParts);
```
这里的 `QString::SkipEmptyParts` 参数就是用来告诉函数忽略空部分的。
阅读全文