当前位置:网站首页>QStringList 的常规使用
QStringList 的常规使用
2022-07-01 21:47:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
参考博客:https://blog.csdn.net/u013360881/article/details/52170487
QStringList 初始化
QStringList qstrList;
qstrList<<"Android" << "Qt Creator" << "Java" << "C++";
QStringListIterator strIterator(qstrList);
while (strIterator.hasNext())
qDebug() << strIterator.next() << endl;
这里我们用QStringList添加QString字符串,用 <<来添加字符串,相当于Java中List的add()方法.
我们先学习一下QList的方法
1.增加字符串 append() QStringList可以通过append(),或使用<< 来添加List元素,如
qstrList.append("python");
qstrList << "PHP" ;
2.插入字符串 insert() 插入字符串insert方法可以将字符串插入到我们指定的list的位置:
qstrList.insert(0,"C#");
第一个参数为我们要插入的位置,后面的参数表示我们要插入的值。 3.替换字符串 replace() 通过replace()方法我们可以替换掉list中某一位置的值
qstrList.replace(0,"Web");
第一个参数为我们要替换的位置,后面的参数表示我们要替换的值。 4.删除字符串 removeAt(), removeFirst(), removeLast(), and removeOne() 我们可以根据方法名,推断出个方法的具体作用,根据实际需要选着对应的方法: 这里说一下removeOne()方法,他表示删除一个具体的值,参数为我们list里的内容,其定义是: bool removeOne(const T &value) ,返回值为bool类型,我们写一下用法的例子
bool isflag = qstrList.removeOne("C#");//删除一个指定的元素,删除成功返回true,删除失败返回fasle
qDebug() << isflag << endl;
int n = qstrList.removeAll("Java");//删除所有的指定的元素,返回删除的元素个数
qDebug() << n << endl;
qstrList.removeAt(2);//删除第三个元素
qstrList.removeFirst();//删除第一个元素
qstrList.removeLast();//删除最后一个元素
接下来我们学习一下QStringList的方法
1. 合并字符串使用join( )
QString str = fonts.join(",");
// str == "Android,Qt Creator,Java,C++"
2. 拆分字符串
QString str = "Android,Qt Creator, ,Java,C++";
QStringList list1 = str.split(",");
// list1: [ "Android", "Qt Creator"," ", "Java", "C++" ]
QStringList list2 = str.split(",", QString::SkipEmptyParts);
// list2:[ "Android", "Qt Creator", "Java", "C++" ]
也就是说如果有QString::SkipEmptyParts,空项不会出现在结果。默认情况下,空项被保留 3. 索引 IndexOf()函数返回给定字符串的第一个出现的索引。 而lastIndexOf()函数,返回字符串的最后一次出现的索引。
QStringList qstrList;
qstrList<<"Java" << "Android" << "Qt Creator" << "Java" << "C++";
int index = qstrList.indexOf("Java");//返回 0
int index = qstrList.indexOf("Java");//返回 3
4. 替换replaceInStrings()
QStringList files;
files << "$file/src/moc/moc.y" << "$file/src/moc/moc.l" << "$file/include/qconfig.h";
files.replaceInStrings("$file", "/usr/file");
// files: [ "/usr/file/src/moc/moc.y", ...]
5. 过滤filter() 可以让你提取一个新的列表只包含这些字符串包含一个特定的字符串(或匹配特定正则表达式):
QStringList list;
list << "Bill Murray" << "John Doe" << "Bill Clinton";
QStringList result;
result = list.filter("Bill");
// result: ["Bill Murray", "Bill Clinton"]
//比较字符串的时候
//Qt::CaseSensitive 搜索区分大小写
//Qt::CaseInSensitive 不区分大小写
result = list.filter("bill",Qt::CaseInSensitive);
// result: ["Bill Murray", "Bill Clinton"]
总结:
QStringList类提供字符串列表。 QStringList继承自QList < QString >。与QList一样,QStringList是隐式共享的。它提供了快速的基于索引的访问,以及快速插入和删除。将字符串列表作为值参数传递是快速和安全的。 QList的所有功能也适用于QStringList。例如,您可以使用isEmpty()来测试列表是否为空,您可以调用诸如append()、prepend()、insert()、replace()、removeAll()、removeAt()、removeFirst()和removeOne()来修改QStringList的函数。 此外,QStringList提供了一些方便的函数,使字符串的处理列表变得更容易
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130299.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
Flume interview questions
功能测试报告的编写
内部字段分隔符
隐藏用户的创建和使用
In the past 100 years, only 6 products have been approved, which is the "adjuvant" behind the vaccine competition
黑马程序员-软件测试--06阶段2-linux和数据库-01-08第一章-linux操作系统阶段内容说明,linux命令基本格式以及常见形式的说明,操作系统的常见的分类,查看命令帮助信息方法,
C#/VB.NET 给PDF文档添加文本/图像水印
Clean up system cache and free memory under Linux
详解ThreadLocal
Mysql——》索引存储模型推演
随机推荐
【MySQL】explain的基本使用以及各列的作用
What is the difference between PMP and NPDP?
Kubernetes创建Service访问Pod
Delete AWS bound credit card account
详解Kubernetes网络模型
Mask wearing detection method based on yolov5
灵动微 MM32 多路ADC-DMA配置
Spark interview questions
并发编程系列之FutureTask源码学习笔记
Fully annotated SSM framework construction
linux下清理系统缓存并释放内存
The leader of the cloud native theme group of beacon Committee has a long way to go!
【MySQL】数据库优化方法
[commercial terminal simulation solution] Shanghai daoning brings you Georgia introduction, trial and tutorial
MySQL series transaction log redo log learning notes
MQ learning notes
信标委云原生专题组组长,任重道远!
Classify boost libraries by function
QT版本华睿相机的Demo程序实现
【QT小作】封装一个简单的线程管理类