当前位置: 首页 > news >正文

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);


 

相关文章:

  • NFT重构票务系统
  • 国际电工委员会发布标准 IEC 62077:2022 《光纤互连设备和无源元件-光纤环行器-通用规范》
  • vue3.0--3.isRef、toRefs、toRef、readonly,公共数据配置、网络配置、app.use插件配置、路由配置
  • 【python】(十八)python常用第三方库——pymysql
  • 供应水溶性喹啉腈磺酸盐母体,QM-SO3,CAS:1800102-18-4
  • Unity Shader LOD详解
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • Linux环境:Nginx配置SSL证书,https协议请求 443端口
  • git tag相关
  • HTML篇三——(1)
  • Android移动应用开发之六种布局
  • Nginx 学习笔记
  • 【027】mongoose V6.4之创建监听套接字fd
  • 《安富莱嵌入式周报》第283期:全开源逆向“爆破”硬件工具,Linux内核6.1将正式引入RUST语言,I3C培训教程,80款市场成熟的电感式位置传感器设计
  • 操作系统实验六 文件管理
  • 08.Android之View事件问题
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Babel配置的不完全指南
  • es6(二):字符串的扩展
  • javascript 哈希表
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • node和express搭建代理服务器(源码)
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 构建二叉树进行数值数组的去重及优化
  • 检测对象或数组
  • 讲清楚之javascript作用域
  • 一天一个设计模式之JS实现——适配器模式
  • mysql面试题分组并合并列
  • Python 之网络式编程
  • 我们雇佣了一只大猴子...
  • ​比特币大跌的 2 个原因
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $.ajax中的eval及dataType
  • (175)FPGA门控时钟技术
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (js)循环条件满足时终止循环
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (论文阅读40-45)图像描述1
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)LINQ之路
  • (转)VC++中ondraw在什么时候调用的
  • (转)重识new
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .apk 成为历史!
  • .bat批处理(一):@echo off
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET学习全景图
  • ?.的用法
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [22]. 括号生成
  • [2544]最短路 (两种算法)(HDU)
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C++] new和delete
  • [C++]STL之map