qt字符串转字符数组(qt 字符串转数组)

qt字符串转字符数组(qt 字符串转数组)文章目录 a enum Qt CaseSensitiv 大小写敏感 一 合并 二 替换 replace 有多个重载 1 其他重载 个人认为常用的 三 分割 截取 1 split 有多个重载 enum QString SplitBehavio 2 section 分割 有多个重载 3 向左 向右 中间截取 3 1 向左截取 left 3 2 向右截取

大家好,我是讯享网,很高兴认识大家。



文章目录

  • a) enum Qt::CaseSensitivity 大小写敏感
  • 一、合并
  • 二、替换:replace(有多个重载)
  • 1.其他重载:(个人认为常用的)
  • 三、分割/截取:
  • 1.split(有多个重载)
  • enum QString::SplitBehavior
  • 2.section 分割(有多个重载)
  • 3.向左、向右、中间截取
  • 3. 1 向左截取 left():
  • 3. 2 向右截取 right():
  • 3. 3 中间截取 mid()
  • 四、比较:compare(有多个重载)
  • 1.静态函数:(列举一个)
  • 2.普通成员函数:(列举一个)
  • 五、去空白:
  • 1.simplified() (去除两边,将内部空白替换成空格)
  • 2.trimmed() (去除两边)
  • 3.使用正则表达式(完全去除)
  • 4.for循环去除(完全去除)
  • 六、其他
  • 1.转小写 toLower()
  • 2.转大写 toUpper()
  • 3.字符串是否为空 isEmpty()
  • 4.字符串是否为空 isNull()
  • 5.填充字符(填满):
  • 6.是否包含该字符串(有多个重载)
  • 7.是否以该字符串结尾(有多个重载)
  • 8.是否以该字符串开头(有多个重载)
  • 9.QFontMetrics类:字体度量信息
  • 9.1构造函数:列举一个
  • 9.2 获取字符串绘制矩形

字符串常用的功能,合并、替换、分割、比较、去空白等。

重载运算符“ + ” 和 “ += ” 都可以实现字符串的合并。

例子:

QString & QString::replace(int position, int n, const QString & after)

例子:

QString & QString::replace(const QString & before, const QString & after, Qt::CaseSensitivity cs = Qt::CaseSensitive)

若字符串中包含before字符串,那么将使用after字符串将其替换,第三个参数设置是否大小写敏感,默认大小写敏感

QStringList QString::split(const QString & sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

  1. 第一个参数是分隔符(以什么分割),第二个参数默认支持结果出现空条目(空格不算空条目),第三个参数是匹配大小写敏感,默认大小写敏感。
  2. 注意:当分隔符没有与之相匹配的时候,会将字符串作为QStringList的一个数组数据即QStringList[0]

enum QString::SplitBehavior

例子:

QString QString::section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const

sep为分隔符,start是开始位置,end是结束位置(默认值时后面所有都匹配),flags影响函数行为的某些方面,例如是否区分大小写、是否跳过空字段以及如何处理开头和结尾分隔符

例子:

3. 1 向左截取 left():

QString QString::left(int n) const

在最左边开始截取n个字符,组成字符串返回。如果n小于0或者大于size()将返回整个字符串,等于0的时候为空。

例子:

3. 2 向右截取 right():

QString QString::right(int n) const

从右边往左截取n个字符,组成字符串返回。如果n小于0或者大于size()将返回整个字符串,等于0的时候为空。

例子:

3. 3 中间截取 mid()

QString QString::mid(int position, int n = -1) const

从position的位置开始,截取n个字符,若n为默认值获取,position后面全部内容(包括position)

例子:

int QString::compare(const QString & s1, const QString & s2, Qt::CaseSensitivity cs = Qt::CaseSensitive) [static]

比较s1和s2,s1 < s2:返回一个小于零的整数;s1 > s2:返回一个大于零的整数;s1 == s2:返回一个0。

例子:

int QString::compare(const QString & other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

例子:

当然也可以直接使用 “ == ” 来进行比较

例子:

去空白我整理了一下,一共有两个QT函数,一种使用正则表达式,一种自己写一个for循环进行去除空白。

QString QString::simplified() const

去除字符串前后空白(源数据不受影响):内部的将内部空白替换成空格

例子:

QString QString::trimmed() const

去除字符串前后空白(源数据不受影响):保留内部空白

例子:

这里使用到了QString的remove方法,remove方法有多个重载哦,这次用的是下方这个

QString & QString::remove(const QRegExp & rx)

将正则表达式匹配到的进行删除


讯享网

例子:

在这里用到了QString的remove方法,上面已经用到一个,这次用的是另一个重载函数

QString & QString::remove(int position, int n)

根据下标进行删除,n为删除个数,下标从0开始

在for循环里面还使用了另一个方法QChar::isSpace(),这个方法不属于QString,他是属于QChar的。

bool QChar::isSpace() const

例子:

可以自己调试一下感受一下他们之间的关系哦。

QString QString::toLower() const

将字符串全部转成小写形式

例子:

QString QString::toUpper() const

转成大写形式

例子:

bool QString::isEmpty() const

当字符串为空返回true,否则返回false。”” 空字符串也算true

例子:

bool QString::isNull() const

当字符串为空返回true,否则返回false。

例子:

QString & QString::fill(QChar ch, int size = -1)

将字符串中的每个字符设置为字符ch。如果size不为-1(默认值),则预先将字符串调整为size大小,再进行填充。

例子:

bool QString::contains(const QString & str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

例子:

bool QString::endsWith(const QString & s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

例子:

bool QString::startsWith(const QString & s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const

如果遇到其他好用的函数也会加进来的呀,里面有一个不属于QString的函数。

QFontMetrics类:QFontMetrics类提供字体度量信息,字符串的物理宽度(显示宽度)等信息。

9.1构造函数:列举一个

QFontMetrics(const QFont &font)

为一个字体构造度量

9.2 获取字符串绘制矩形

QRect boundingRect(QChar ch) const

返回一个矩形,获取字符串绘制矩形

小讯
上一篇 2025-06-12 22:13
下一篇 2025-06-16 16:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/197350.html