QStringList 删除空的QString
时间: 2024-05-16 21:17:40 浏览: 272
可以使用QList的removeAll方法来删除空的QString。具体实现如下:
```
QStringList list = {"abc", "", "def", "", "ghi", ""};
list.removeAll("");
// 输出结果:{"abc", "def", "ghi"}
qDebug() << list;
```
在这个例子中,removeAll方法会删除所有值为空的QString,最终得到的list中只剩下非空的QString。
相关问题
qt qstringlist去除空qstring
在Qt中,`QStringList` 是一个容器类,用于存储`QString`对象的集合。如果需要从 `QStringList` 中移除空的 `QString`(即长度为0的字符串),可以使用循环遍历列表,并调用 `removeOne()` 函数移除那些空字符串。下面是一个示例:
```cpp
QStringList stringList = {"", "Hello", "", "World"};
for (int i = stringList.count() - 1; i >= 0; --i) {
if (stringList.at(i).isEmpty()) {
stringList.removeAt(i);
}
}
```
在这个例子中,我们首先获取 `stringList` 的大小,然后从最后一个元素开始检查,如果发现是空字符串,则使用 `removeAt()` 函数将其从列表中删除。
QStringList 删除空行
可以使用 QString 的 split 函数把字符串按照换行符 "\n" 分割成一个 QStringList,然后再遍历 QStringList,把其中为空的字符串删除即可。示例代码如下:
```cpp
QStringList stringList;
// 假设 stringList 中已经包含了多个字符串,其中可能有空行
// 遍历 QStringList,把其中为空的字符串删除
for (int i = 0; i < stringList.size(); i++) {
if (stringList[i].isEmpty()) {
stringList.removeAt(i);
i--;
}
}
```
另外,如果要删除的是空格和制表符等空白字符,可以使用 QString 的 trimmed() 函数把字符串两端的空白字符去掉,然后再判断是否为空。示例代码如下:
```cpp
QStringList stringList;
// 假设 stringList 中已经包含了多个字符串,其中可能有空行或只有空格和制表符的行
// 遍历 QStringList,把其中为空的字符串删除
for (int i = 0; i < stringList.size(); i++) {
if (stringList[i].trimmed().isEmpty()) {
stringList.removeAt(i);
i--;
}
}
```
阅读全文