[QT入门]字符串类(QString)应用

一、概述

在Qt框架中,QString 类是用于处理字符串的核心类。它提供了丰富的功能来存储、操作、查询和转换字符串数据。QString 使用Unicode编码,因此可以处理包括中文、日文、俄文等多种语言的字符集。下面将详细介绍QString 的基本使用方法和一些高级应用,并通过代码示例进行说明。

二、初始化与赋值

初始化

QString 可以通过多种方式初始化:

#include <QString>  
#include <QDebug>  
  
int main() {  
    // 使用字符串字面量初始化  
    QString str1 = "Hello, World!";  
      
    // 使用构造函数初始化  
    QString str2(QString::fromUtf8("你好,世界!"));  
      
    // 使用const char*初始化,并自动转为UTF-8  
    QString str3("Another example");  
      
    // 使用QChar数组初始化  
    QChar data[5] = {'Q', 't', ' ', 'R', 'u'};  
    QString str4(data, 5); // 注意指定长度  
  
    qDebug() << str1 << str2 << str3 << str4;  
    return 0;  
}

赋值

QString 支持使用赋值操作符进行赋值:

QString str5;  
str5 = "New Value";

三、字符串操作

长度与索引

QString str = "Hello, World!";  
int length = str.length(); // 返回 13  
QChar firstChar = str.at(0); // 访问第一个字符  
qDebug() << "Length:" << length << ", First Char:" << firstChar;

字符串截取

QString leftPart = str.left(5); // 截取左边5个字符  
QString rightPart = str.right(6); // 截取右边6个字符  
QString midPart = str.mid(7, 5); // 从索引7开始截取5个字符  
qDebug() << "Left:" << leftPart << ", Right:" << rightPart << ", Mid:" << midPart;

字符串查找与替换

int index = str.indexOf("World"); // 查找子字符串  
QString replaced = str.replace("World", "Qt"); // 替换子字符串  
qDebug() << "Index:" << index << ", Replaced:" << replaced;

字符串拼接

QString part1 = "Hello, ";  
QString part2 = "Qt!";  
QString result = part1 + part2; // 使用加号拼接  
QString result2 = part1.append(part2); // 使用append函数拼接  
qDebug() << "Result:" << result << ", Result2:" << result2;

四、字符串转换

转换为基本数据类型

QString numStr = "12345";  
bool ok;  
int num = numStr.toInt(&ok); // 转换为整型  
if (ok) {  
    qDebug() << "Int:" << num;  
}  
  
double doubleNum = numStr.toDouble(&ok); // 转换为双精度浮点数  
if (ok) {  
    qDebug() << "Double:" << doubleNum;  
}

转换为QByteArray

QByteArray byteArray = numStr.toUtf8(); // 转换为UTF-8编码的QByteArray  
qDebug() << byteArray;

转换为std::string

std::string stdStr = numStr.toStdString(); // 转换为std::string  
qDebug() << stdStr.c_str();

五、字符串处理函数

QString 还提供了许多其他实用的字符串处理函数,如:

1.toLower() 和 toUpper():将字符串转换为小写或大写。

2.trimmed() 和 simplified():去除字符串两端的空白字符或中间的冗余空白字符。

3.contains():检查字符串中是否包含指定子字符串。

QString mixedCase = "Hello, World!";  
QString lowerCase = mixedCase.toLower();  
QString upperCase = mixedCase.toUpper();  
QString trimmedStr = mixedCase.trimmed();  
  
qDebug() << "Lower:" << lowerCase << ", Upper:" << upperCase << ", Trimmed:" << trimmedStr;  
  
if (mixedCase.contains("World")) {  
    qDebug() << "Contains 'World'";  
}

  • 23
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值