QStringList的应用

QStringList的应用QStringList初始化QStringListqstrList;qstrList<<“Android”<<“QtCreator”<<“Java”<<“C++”;QStringListIteratorstrIterator(qstrList);while(strIterator.hasNext())qDebug()<<strIterator.next()<<endl;这里我

大家好,又见面了,我是你们的朋友全栈君。

使用qstrList.at()调用

 -   QStringList   qstrList;
 -   qstrList<<"AA" << "BB" << "CC" << "DD";
 -   QStringListIterator strIterator(qstrList);
     while (strIterator.hasNext())
 - qDebug() << strIterator.next() << endl;**

这里我们用QStringList添加QString字符串,用 <<来添加字符串,相当于AA中List的add()方法.
我们先学习一下QList的方法
1.增加字符串 append() 
QStringList可以通过append(),或使用<< 来添加List元素,如
1.	qstrList.append("python");
2.	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类型,我们写一下用法的例子
1.	bool isflag = qstrList.removeOne("C#");//删除一个指定的元素,删除成功返回true,删除失败返回fasle
2.	qDebug() << isflag << endl;
3.	int n = qstrList.removeAll("Java");//删除所有的指定的元素,返回删除的元素个数
4.	qDebug() << n << endl;
5.	qstrList.removeAt(2);//删除第三个元素
6.	qstrList.removeFirst();//删除第一个元素
7.	qstrList.removeLast();//删除最后一个元素
接下来我们学习一下QStringList的方法
1. 合并字符串使用join( )
1.	QString str = fonts.join(",");
2.	// str == "Android,Qt Creator,Java,C++"
2. 拆分字符串
1.	QString str = "Android,Qt Creator, ,Java,C++";
2.	QStringList list1 = str.split(",");
3.	// list1: [ "Android", "Qt Creator"," ", "Java", "C++" ]
4.	QStringList list2 = str.split(",", QString::SkipEmptyParts);
5.	// list2:[ "Android", "Qt Creator", "Java", "C++" ]
也就是说如果有QString::SkipEmptyParts,空项不会出现在结果。默认情况下,空项被保留 
3. 索引 
IndexOf()函数返回给定字符串的第一个出现的索引。 
而lastIndexOf()函数,返回字符串的最后一次出现的索引。
1.	QStringList qstrList;
2.	 qstrList<<"Java" << "Android" << "Qt Creator" << "Java" << "C++";
3.	int index = qstrList.indexOf("Java");//返回 0
4.	int index = qstrList.indexOf("Java");//返回 3
4. 替换replaceInStrings()
1.	QStringList files;
2.	files << "$file/src/moc/moc.y" <<  "$file/src/moc/moc.l" <<  "$file/include/qconfig.h";
3.	files.replaceInStrings("$file", "/usr/file");
4.	// files: [ "/usr/file/src/moc/moc.y", ...]
5. 过滤filter() 
可以让你提取一个新的列表只包含这些字符串包含一个特定的字符串(或匹配特定正则表达式):
1.	QStringList list;
2.	list << "Bill Murray" << "John Doe" << "Bill Clinton";
3.	QStringList result;
4.	result = list.filter("Bill");
5.	// result: ["Bill Murray", "Bill Clinton"]
6.	 
7.	//比较字符串的时候 
8.	//Qt::CaseSensitive  搜索区分大小写
9.	//Qt::CaseInSensitive   不区分大小写
10.	result = list.filter("bill",Qt::CaseInSensitive);
11.	// result: ["Bill Murray", "Bill Clinton"]
________________________________________
总结:
QStringList类提供字符串列表。 
QStringList继承自QList < QString >。与QList一样,QStringList是隐式共享的。它提供了快速的基于索引的访问,以及快速插入和删除。将字符串列表作为值参数传递是快速和安全的。 
QList的所有功能也适用于QStringList。例如,您可以使用isEmpty()来测试列表是否为空,您可以调用诸如append()、prepend()、insert()、replace()、removeAll()、removeAt()、removeFirst()和removeOne()来修改QStringList的函数。 
此外,QStringList提供了一些方便的函数,使字符串的处理列表变得更容易


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138560.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 软连接_螺栓软连接与硬链接

    java 软连接_螺栓软连接与硬链接1.Linux链接概念Linux链接分两种,一种被称为硬链接(HardLink),另一种被称为符号链接(SymbolicLink)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(InodeIndex)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连…

  • 智能优化算法:海鸥优化算法-附代码

    智能优化算法:海鸥优化算法-附代码2019智能算法:海鸥优化算法-附代码摘要:本文简单介绍智能优化算法-海鸥优化算法1.原理海鸥是遍布全球的海鸟,海鸥种类繁多且大小和身长各不相同。海鸥是杂食动物,吃昆虫、鱼、爬行动物、两栖动物和蚯蚓等。大多数海鸥的身体覆盖着白色的羽毛,经常用面包屑来吸引鱼群,用脚发出雨水落下的声音来吸引藏在地下的蚯蚓。海鸥可以喝淡水和盐水,通过眼睛上方的一对特殊腺体,将盐从它们的体内排出。海鸥以群居式生活,利用智慧来寻找和攻击猎物。海鸥最重要特征是迁徙和攻击行为,迁徙是动物从一个地方到另一个地方根据季节更替

  • python 数组添加数组_Python添加到数组[通俗易懂]

    python 数组添加数组_Python添加到数组[通俗易懂]python数组添加数组Pythondoesn’thaveanyspecificdatatypeasanarray.WecanuseListthathasallthecharacteristicsofanarray.Python没有任何特定的数据类型作为数组。我们可以使用具有数组所有特征的List。Pythonarraymodulecan…

  • 图书销售管理系统设计与实现「建议收藏」

    图书销售管理系统设计与实现「建议收藏」图书销售管理系统设计与实现             图书销售管理系统设计与实现本系统带程序说明书 有需要源码虚学习交流的可以去我上传的资源里面找,找不到的话,评论我,或者站内私信留下邮箱,我给你发,也可以联系我ID。因为最近太忙一直没有上传完。emmmm 跟着现代社会的开展越来越多的公司、企业、出售集体等现已不满意于仅仅只是静态网页技能介绍公司背景环境以及开展方向,愈加…

  • java二维对象数组_java 二维数组和对象数组

    java二维对象数组_java 二维数组和对象数组1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组2.二维数组的初始化1)intintA[][]={{1,2},{2,3},{3,4,5}};2)int[][]intB=newint[3][5];3)int[]intC[]=newint[3][];intC[0]=newint[2];intC[1]=newint[3];intC[2]=newint[5];1…

  • redis集群搭建之官方redis cluster 搭建实践「建议收藏」

    rediscluster是官方的redis集群实现,本篇文章为搭建集群实践篇一、手动搭建redis官方已经redis-trib.rb命令来给我们实现redis搭建了。但是为了了解原理,首先我们来手动搭建不使用官方的命令。如果大家想快速搭建,可以直接跳到二。1、准备我们这个例子是在单机上部署集群,实际的工作情况会在不同的机器上搭建,一方面为了保证高可用也是为了扩大数据的容量所以实际中会在不同的机器…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号