在Qt编程中,如何使用代码删除字符串中的所有字母字符并保持非字母不变?
时间: 2024-10-25 14:13:34 浏览: 11
QT中字符串的比较、查找、替换等操作 - 大存的博客1
在Qt中,如果你想要删除字符串中的所有字母字符并保留其他字符(如标点、空格等),可以使用`QChar::isLetter`函数以及迭代器进行操作。下面是一个简单的示例:
```cpp
#include <QCoreApplication>
#include <QString>
#include <QChar>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QString str = "Hello, World!";
QString nonAlphabeticStr;
for (const auto &charInString : str) {
if (!QChar(charInString).isLetter()) { // 检查字符是否是非字母
nonAlphabeticStr += charInString; // 非字母字符添加到新字符串
}
}
qDebug() << "Non-alphabetic string: " << nonAlphabeticStr;
return app.exec();
}
```
这段代码遍历输入字符串中的每个字符,如果字符不是字母(通过`QChar::isLetter`检查),就将其添加到`nonAlphabeticStr`中。
阅读全文