QString用法详解(连接、替换、初始化与格式转换、拆分等等)

您所在的位置:网站首页 替换所有数字的格式是什么 QString用法详解(连接、替换、初始化与格式转换、拆分等等)

QString用法详解(连接、替换、初始化与格式转换、拆分等等)

2024-07-14 23:57| 来源: 网络整理| 查看: 265

QString在Qt的各种数据转换中可谓举足轻重,熟悉QString的用法对于Qt编程真的是如虎添翼:

QString 字符串有相当多的操作符和函数,此处只介绍一些比较常用的:

(1) “+” 用于组合两个字符串,“+=” 用于将一个字符串追加到另一个字符串的末尾,例如:

QString str1 = "Welcome"; str1 = str1 + "to you !"; //str1 = "Welcome to you!" QString str2 = "Hello,"; str2 += "World!"; //str2 = "Hello,World!"

(2)QString::append()函数,具有与“+=”操作符同样的功能,实现字符串末尾追加另一个字符串,例如:

QString str1 = "Welcome "; QString str2 = "to "; str1.append(str2); //str1 = "Welcome to " str1.append("you !"); //str1 = "Welcome to you !"

(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义和C++库中的函数sprintf()定义一样,例如:

QString str; str.sprintf("%s","Welcome "); //str = "Welcome " str.sprintf("%s"," to you! "); //str = " to you! " str.sprintf("%s %s","Welcome "," to you! "); //str = "Welcome to you! ";

(4)Qt还提供了另一种方便的字符串组合方式,使用QString::arg()函数,此函数的重载可以处理很多的数据类型。此外,一些重载具有额外的参数对字段的宽度、数字基数或者浮点精度进行控制。相对于QString::sprintf(),QString::arg()是一个比较好的解决方案,因为它类型安全,完全支持Unicode,并且允许改变“/n”参数的顺序。例如:

QString str; str = QString("%1 was born in %2.").arg("Joy").arg(1993); //str = "Joy was born in 1993.";

其中:

“%1” 被替换为“Joy”.

"%2"被替换为“1993”.

(5)QString 也提供了一些其他的组合字符串的方法,包括以下几种:

a. insert()函数:在原字符串特定位置插入另一个字符

b. prepend()函数:在原字符串开头插入另一个字符串

c. replace()函数:用指定的字符串去代替原字符串中的某些字符

(6)去除字符串两端的空白(空白字符包括回车符号“\n”、换行符“\r”、制表符"\t"和空格字符:“ ”等)非常常用,如获取用户输入账号时就需要去掉空白符。

a. QString::trimmed()函数:移除字符串两端的空白符

b. QString::simplified()函数:移除字符串两端的空白字符,使用单个空格字符“ ”代替字符串中出现的空白字符。

例如:

QString str1 = " Welcome \t to \n you! "; QString str2 = " Welcome \t to \n you! "; str1 = str1.trimmed(); // str1 = " Welcome \t to \n you! " str2 = str2.simplified(); // str2 = " Welcome to you ! "

(7)split函数用于拆分字符串

QByteArray array = tcpSocket->readAll();//从套接字读取数据 QString strr = array;//将数据转换为QString格式 QStringList strlist=strr.split(" ");//将数据以空格拆分,并放入数组中 QStringList list=strlist.at(1).split("#");//将strlist中的第一号元素以“#”隔开并存入list中 qDebug()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3