QString怎么能找到第一个不是空格的字符
时间: 2023-04-04 12:03:05 浏览: 205
可以使用QString的trimmed()函数去除字符串两端的空格,然后使用QString的indexOf()函数找到第一个不是空格的字符的位置,例如:
QString str = " hello world ";
str = str.trimmed(); // 去除两端空格
int index = str.indexOf(QRegExp("[^\\s]")); // 找到第一个不是空格的字符的位置
if (index != -1) {
QChar ch = str.at(index); // 获取该字符
qDebug() << ch;
} else {
qDebug() << "字符串中没有非空格字符";
}
相关问题
QString 每两个字符插入空格
可以使用 QString 的 insert 函数,结合循环操作,将每两个字符之间插入一个空格。以下是一个示例代码:
```cpp
QString str = "ThisIsAString";
for(int i = 2; i < str.length(); i += 3) {
str.insert(i, " ");
}
```
在上面的代码中,我们从字符串的第三个字符开始,每隔两个字符就插入一个空格。因为字符串的下标从 0 开始,所以 i 的初始值为 2。
执行上述代码后,字符串 str 的值将变为 "Th is Is A St rin g"。
QString 字符换 添加空格
可以使用 QString 的 insert 方法,在需要添加空格的位置插入一个空格字符即可,示例代码如下:
QString str = "HelloWorld";
str.insert(5, " "); // 在第 5 个字符后插入一个空格
qDebug() << str; // 输出 "Hello World"
注意,这里的 insert 方法会修改原字符串,如果需要保留原字符串,可以使用 QString 的 arg 方法,示例代码如下:
QString str = "HelloWorld";
QString newStr = str.arg(" ").arg(5);
qDebug() << newStr; // 输出 "Hello World5"
阅读全文