QT 中QString字符串的操作_qstring在指定位置加字符,2024年最新31道物联网嵌入式开发面试题

56 阅读4分钟

img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

// 对字符串直接 + 另一个字符串也可以实现,但是不对原本的字符串进行操作 QString str3 = str1 + str2 + " !";   // str3 = "hello world !"   str1 = "hello "


####  2. 从字符串中查找某个字符串



QString x = "sticky question"; QString y = "sti"; x.indexOf(y);              // 返回0 // 函数indexOf()会返回要查找的字符串在字符串中第一次出现的位置 // 如果没有要查找的字符串,返回-1


####  3. 用某个字符填满字符串



QString str = "Hello"; str.fill('x');             // str == "xxxxx" str.fill('A', 2);          // str == "AA"


####  4. 判断字符串是否为空



QString().isEmpty();            // 返回 true QString("").isEmpty();          // 返回 true QString(" ").isEmpty();         // 返回 false QString("abc").isEmpty();       // 返回 false


####  5. 判断字符串是否存在



QString().isNull();             // 返回 true QString("").isNull();           // 返回 false QString("abc").isNull();        // 返回 false


####  6. 从左向右截取字符串



QString str = "Hello World !"; QString str1 = str.left(5);         // str1 = "Hello"


####  7. 从中间截取字符串



QString str = "I love C++!"; QString str1 = str.mid(2, 4);       // str1 == "love" QString str2 = str.mid(2);          // str2 == "love C++!"


####  8. 截取字符串中最右边几个字符



QString str = "I love C++!"; QString str1 = str.right(4);        // str = I love C++! str1 = "C++!" 


####  9. 删除字符串中的最后几个字符



QString str = "Hello World !"; str.chop(8);                        // str = "Hello" 


####  10. 删除字符串中间某个字符



QString str = "Hello World!"; str.remove(5, 6);                   // str = "Hello!"


####  11. 指定位置插入字符串



QString str = "Hello!"; str.insert(5, QString(" World"));   // str = "Hello World!"


####  12. 用几个字符替换字符串中的几个字符



QString x = "Say yes!"; QString y = "no"; x.replace(4, 3, y);                 // x = "Say no!" x.replace("yes", "no");             // x = "Say no!"


####  13.字符串补零到指定位



QString str = "A6"; //如果要把str补全到8位,空位用0补全 QString str1 = QString("%1").arg(str, 8, QLatin1Char('0'));    //str1 = "000000A6" //arg里第一个参数是要补全的字符串,第二个参数是要补全到的位数,第三个参数是用什么字符补全,可以不是0的其他字符


####  14.整型十进制转为十六进制字符串并补零到指定位



int n = 66; //如果要把n转换为十六进制并补全到8位 QString str = QString("%1").arg(n, 8, 16, QLatin1Char('0'));   // str = "00000042" //arg里第一个参数是十进制整型的数,第二个参数是要补全到的位数,第三个参数是要转换的进制,可以是十六进制也可以是十进制 //第四个参数是用什么字符补全,可以不是0的其他字符


####  15. 以某个字符切割字符串



QString csv = "forename,middlename,surname,phone"; QString path = "/usr/local/bin/myapp";   //section()会把字符串以第一个参数的符号切割分成数个字符串,后面两个参数是得到的字符串的开始和结束的位置 QString str; str = csv.section(',', 2, 2);       // str = "surname" str = path.section('/', 3, 3);      // str = "bin" str = path.section('/', 3, 4);      // str = "bin/myapp" str = path.section('/', 3, 3, QString::SectionSkipEmpty);      // str = "myapp"



![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/b9befdb825ba4599af37aa2d23e5c785~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzM5MTQ5MjgwNjA=:q75.awebp?rk3s=f64ab15b&x-expires=1771322048&x-signature=QuEtJVBbuxU3bfRfuXxy37v1RLE%3D)
![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/82cf15a4163249b88ad0597693dbf374~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg55So5oi3MzM5MTQ5MjgwNjA=:q75.awebp?rk3s=f64ab15b&x-expires=1771322048&x-signature=GuXs%2B2l348Lw6BW4YeT16o%2FqWM8%3D)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://gitee.com/vip204888)**