QT QString编辑字符串-查询-类型转换操作
"编辑字符串操作:"
"字符串大小:" 5
"第一个字符为:" 'H'
"str2为:" "Hi my Qt"
"str2为:" "Hi my Qt!!!"
"str2为:" "hi\r\nQt!\n "
"取出两端的空格的操作str2a:" "hi\r\nQt!"
"取出两端与中间的空格的操作:" "hi Qt!"
"str2拆分区分出来后,list组合为:" ("hi", "my", "Qt")
"list组合后为:" "hi my Qt"
true
true
false
true
字符串转list,list转QString字符串
去除空格
替换,追加等操作
QString str3a="checkonlyone";
qDebug()<<str3a.mid(1,3);//字符串截取,从索引1开始连续取出3个字符
#include <QCoreApplication>
//SRC7_12 QString编辑操作
#include <QDebug>
#include <QStringList>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<QObject::tr("编辑字符串操作:")<<endl;
QString str2="hello";
qDebug()<<QObject::tr("字符串大小:")<<str2.size();
str2[0]=QChar('H');//将第一个字符转换为'H'
qDebug()<<QObject::tr("第一个字符为:")<<str2[0];
str2.append(" Qt");//尾部添加字符串
str2.replace(1,4,"i");//第1个字符连续的4个字符替换为i
str2.insert(2," my");//第2个字符开始插入my
qDebug()<<QObject::tr("str2为:")<<str2;
str2=str2+"!!!";//字符串的连接组合
qDebug()<<QObject::tr("str2为:")<<str2;
str2="hi\r\nQt!\n ";
qDebug()<<QObject::tr("str2为:")<<str2;
QString str2a =str2.trimmed();
qDebug()<<QObject::tr("取出两端的空格的操作str2a:")<<str2a;
QString str2aa=str2.simplified();
qDebug()<<QObject::tr("取出两端与中间的空格的操作:")<<str2aa;
str2 ="hi,my,,Qt";
//通过逗号区分出多个字符串
//QString::SkipEmptyParts表示是跳过空的条目
QStringList list=str2.split(",",QString::SkipEmptyParts);
qDebug()<<QObject::tr("str2拆分区分出来后,list组合为:")<<list;
str2 =list.join(" ");//将list组合转为字符串以空格进行连接
qDebug()<<QObject::tr("list组合后为:")<<str2;
qDebug()<<QString().isNull();
qDebug()<<QString().isEmpty();
qDebug()<<QString("").isNull();
qDebug()<<QString("").isEmpty();
return a.exec();
}
//查询操作
qDebug()<<endl<<QObject::tr("字符串中进行查询的操作");
str2="hafeilinux";
qDebug()<<QObject::tr("字符串为:")<<str2;
qDebug()<<QObject::tr("包含右侧5个字符的子字符串:")<<str2.right(5);
qDebug()<<QObject::tr("左侧5个字符的子字符串:")<<str2.left(5);
qDebug()<<QObject::tr("截取索引2开始连续3个字符")<<str2.mid(2,3);
qDebug()<<QObject::tr("fei的位置")<<str2.indexOf("fei");
qDebug()<<QObject::tr("索引0的字符")<<str2.at(0);
qDebug()<<QObject::tr("统计i的个数")<<str2.count('i');
qDebug()<<QObject::tr("是否以ha开头的字符串")<<str2.startsWith("ha");
qDebug()<<QObject::tr("是否以linux结尾的字符串")<<str2.endsWith("linux");
qDebug()<<QObject::tr("是否包含lin字符串")<<str2.contains("lin");
QString temp="hello";
if(temp>str2)
qDebug()<<QObject::tr("字符串比较")<<temp;
else
qDebug()<<QObject::tr("字符串比较")<<str2;
//转换操作
qDebug()<<endl<<QObject::tr("字符串的转换操作");
str2="100";
qDebug()<<QObject::tr("字符串转整数数字:")<<str2.toInt();
int num=45;
qDebug()<<QObject::tr("数字转字符串")<<QString::number(num);
str2 = "FF";
bool b_ok;
int hex=str2.toInt(&b_ok,16);//
qDebug()<<"b_ok:"<<b_ok<<QObject::tr("十六进制字符串转十进制")<<hex;
num=26;
qDebug()<<QObject::tr("十进制(26)转16进制字符串")<<QString::number(num,16);
str2="123.456";
qDebug()<<QObject::tr("字符串转小数浮点数")<<str2.toFloat();
str2 ="abc";
qDebug()<<QObject::tr("abc转换为大写:")<<str2.toUpper();
str2="CDE";
qDebug()<<QObject::tr("CDE转换为小写:")<<str2.toLower();
int age=25;
QString name="hafei";
str2=QString("name is %1,age is %2").arg(name).arg(age);
qDebug()<<QObject::tr("更改后的str2:")<<str2;
str2="%1 %2";
qDebug()<<str2.arg("%1f","hello");
qDebug()<<str2.arg("%1A").arg("hello");//此处变成helloA,再替换str2="%1 %2,就得到helloA%2
str2 =QString("ni %1").arg("hi",5,'*');
qDebug()<<QObject::tr("设置字段宽度为5,使用'*'填充:")<<str2;
qreal value=123.456;
str2=QString("number:%1").arg(value,0,'f',2);
qDebug()<<QObject::tr("设置小数点位数为2位的字符串:")<<str2;
qDebug()<<QObject::tr("不显示双引号:将str转换为const char *:")<<qPrintable(str2);