QT 对QString字符串的操作
Qt
QString是QT提供的字符串类,相应的也就提供了很多很方便对字符串的处理方法。这里把这些对字符串的操作做一个整理和总结。
1. 将一个字符串追加到另一个字符串的末尾
1 2 3 4 5 6
| QString str1 = "hello "; QString str2 = "world"; str1.append(str2); str1.append(" !");
QString str3 = str1 + str2 + " !";
|
2. 从字符串中查找某个字符串
1 2 3 4 5
| QString x = "sticky question"; QString y = "sti"; int iPos = x.indexOf(y);
|
3.从字符串中查找某个字符串最后出现的位置
1 2 3 4 5
| QString strPath = ".C://Users/XXX/Desktop/111.txt"; int iPos = strPath.lastIndexOf(".");
|
4. 用某个字符填满字符串
1 2 3
| QString str = "Hello"; str.fill('x'); str.fill('A', 2);
|
5. 判断字符串是否为空
1 2 3 4
| QString().isEmpty(); QString("").isEmpty(); QString(" ").isEmpty(); QString("abc").isEmpty();
|
6. 判断字符串是否存在
1 2 3
| QString().isNull(); QString("").isNull(); QString("abc").isNull();
|
7. 从左向右截取字符串
1 2
| QString str = "Hello World !"; QString str1 = str.left(5);
|
8. 从中间截取字符串
1 2 3
| QString str = "I love C++!"; QString str1 = str.mid(2, 4); QString str2 = str.mid(2);
|
9. 截取字符串中最右边几个字符
1 2
| QString str = "I love C++!"; QString str1 = str.right(4);
|
10. 删除字符串中的最后几个字符
1 2
| QString str = "Hello World !"; str.chop(8);
|
11. 删除字符串中间某个字符
1 2
| QString str = "Hello World!"; str.remove(5, 6);
|
12. 指定位置插入字符串
1 2
| QString str = "Hello!"; str.insert(5, QString(" World"));
|
13. 用几个字符替换字符串中的几个字符
1 2 3 4
| QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y); x.replace("yes", "no");
|
14.字符串补零到指定位
1 2 3 4
| QString str = "A6";
QString str1 = QString("%1").arg(str, 8, QLatin1Char('0'));
|
15.整型十进制转为十六进制字符串并补零到指定位
1 2 3 4 5
| int n = 66;
QString str = QString("%1").arg(n, 8, 16, QLatin1Char('0'));
|
16. 以某个字符切割字符串
1 2 3 4 5 6 7 8
| QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp";
QString str; str = csv.section(',', 2, 2); str = path.section('/', 3, 3); str = path.section('/', 3, 4); str = path.section('/', 3, 3, QString::SectionSkipEmpty);
|
17. 以某个字符切割字符串另一种方法
1 2 3 4 5
| QString str = "a,,b,c"; QStringList list1 = str.split(',');
QStringList list2 = str.split(',', QString::SkipEmptyParts);
|
18. 检查字符串是否以某个字符串开头或结尾
1 2 3 4
| QString str = "http://www.baidu.com"; str.startsWith("http:"); str.endsWith("cn");
|
19. 比较两个字符串是否相等
1 2 3 4 5 6 7 8 9 10
| QString str1 = "xxx"; QString str2 = "XXX";
QString::localeAwareCompare(str1, str2)
if(QString::localeAwareCompare(str1.toUpper(), str2) == 0) { qDebug() << "str1和str2相等"; }
|
20. 去除字符串两侧的空白字符(空白字符包括空格、Tab以及换行符,而不仅仅是空格)
1 2
| QString str = " xxx "; QString str1 = str.trimmed();
|
原文地址:https://blog.csdn.net/Sakuya__/article/details/87866030