QStringList 的学习笔记

QStringList 的学习笔记因公司项目,开始学习QT,这里做一些学习笔记,一遍以后忘记了可以翻阅。笔记内容写的简单,勿怪。参考博客:https://blog.csdn.net/u013360881/article/details/52170487QStringList初始化QStringListqstrList;qstrList<<"Android"<<"Qt

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

因公司项目,开始学习QT,这里做一些学习笔记,一遍以后忘记了可以翻阅。
笔记内容写的简单,勿怪。
参考博客: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.net/133033.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu16.04安装pycharm_pycharmlinux安装

    ubuntu16.04安装pycharm_pycharmlinux安装1.安装包下载进入https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux

    2022年8月27日
    2
  • bfs是什么意思_bfs轮

    bfs是什么意思_bfs轮Rubik 先生在发明了风靡全球的魔方之后,又发明了它的二维版本——魔板。这是一张有 8 个大小相同的格子的魔板:1 2 3 48 7 6 5我们知道魔板的每一个方格都有一种颜色。这 8 种颜色用前 8 个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列 (1,2,3,4,5,6,7,8) 来表示,这是基本状态。这里提供三种基本操作,分别用大写字母 A,B,C 来表示(可以通过这些操作改变魔板

    2022年8月9日
    1
  • a标签的link、visited、hover、active的顺序

    a标签的link、visited、hover、active的顺序

    2021年9月21日
    51
  • pycharm自动调整代码格式,使之符合规范

    pycharm自动调整代码格式,使之符合规范哈哈哈 今天刚刚发现 Pycharm 可以自动调整格式 真的是太方便了 赶紧来记录一下和大家分享 当我们在 Pycharm 写 python 代码时 要边敲代码边符合规范真的有点不方便 但是不符合规范的代码又影响阅读 下面就说一下怎么用 Pycharm 自带的代码格式调整功能调整代码格式吧 方法一 打开 Pycharm gt 在上面的工具栏找到 Code gt 点击 ReformatCode 方法二 直接使用快捷键 Ctrl Alt L

    2025年6月8日
    0
  • 面试题之String str = new String(“abc”); 创建了几个对象

    面试题之String str = new String(“abc”); 创建了几个对象今天去面试的时候碰到了这个问题:String str = new String("abc"); 创建了几个对象,回来自己研究并查阅资料才发现答错了。。网上的争论不少,有的说是两个,答案应该是:两个或一个理由解释如下:都了解java 的字符串常量缓冲区(字符串池,字符串常量池),如果代码是这样的:String str2 = new String("abc"); 并且 abc 字…

    2022年6月13日
    27
  • 详解C/C++中volatile关键字

    详解C/C++中volatile关键字一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:这段…

    2022年6月1日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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