一、QString
Qt则提供了自己的字符串实现:QString,QString也重载的+和+=运算符。
QString常用函数:
函数 | 功能 |
---|---|
QString&append(const QString & str) | 追加子串到字符串尾部。 |
QString& prepend(const QString & str) | 将子串加到字符串头部。 |
bool startsWith(constQString&sQt::Case Sensitivitycs=Qt::CaseSensitive) | 判断字符串(如"abcd")是否以某个子串 (如s是"ab")打头,cs指判断时大小写 const 是否敏感,返回bool |
bool endsWith(const QString & s,Qt::CaseSensitivitvcs=Qt::CaseSensitive) | 判断字符串(如"abcd")是否以某个子串 (如s是"cd")结尾,cs 指判断时大小写 const 是否敏感,返回bool。 |
bool contains(const QString & str,Qt::CaseSensitivitycs=Qt::CaseSensitiveconst | 判断字符串对象里是否包含子串str,参数 cs指判断时大小写是否敏感。 |
int count(const QString & str,Qt::CaseSensitivitycs=Qt::CaseSensitive)const | 对字符串对象里子串str出现的次数做统 计,返回出现次数,如果没出现就返回 0. |
QString&insert(int positionconst QString,const QString &str) | 将子串str插入到position序号位置,子串 r插入后的起始序号就是position。 |
QString& remove(int position,int n) | 从position开始的位置移除掉n个字符,如 果n比position位置开始的子串长度大,后 面的就会被全部移除。 |
QString&remove(const QString & str strQt::CaseSensitivitycs=Qt::CaseSensitive | 这个重载的remove函数将匹配的所有子串 都从字符串里面移除掉,拿来消除空格 |
QString&replace(const QString & beforeconst QString &afterQt::CaseSensitivitycs) | 这个重载的replace将字符串里出现的所有 子串before全部替换为新的 |
after=Qt::CaseSensitive)QString trimmed()const '\t', '\n','lv','\f','r'."" | 剔除字符串头部和尾部的空白字符,包括 字符串中间的空白不 处理。 |
QString simplified()const '\t', "\n', 'lv',"\f',"\r',""。 | 剔除字符串里出现的所有空白字符,包括 两端和中间的都剔 除。 |
二、QStringList
QStringList类提供了一个字符串列表,从QList<QString>继承而来,它提供快速索引为基础的接入以及快速插入和清除。
QStringList常用函数:
函数 | 功能 |
---|---|
QStringList&operator<<(const QString&str) | 增加字符串 |
void append(const QString &str) | 增加字符串 |
QString join(const QString &separator) const | 合并成为一个字符串,参数为间隔内容 |
QStringList filter(const QString &str.Qt::CaseSensitivitycs=Qt::CaseSensitive)-const | 提取一个新的列表只包含这些字符包含一个特定的字符串(或匹配特定正则表达式) |
#include <QCoreApplication>
#include <iostream>
#include <string>
#include <QDebug>
#include <QString>
#include <QStringList>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cout<<"Hello Qt"<<endl;
qDebug()<<"Hello Qt"<<endl;
string str = "abcd";
//cout<<str<<endl;
QString qstr = "1234";
//qDebug()<<qstr<<endl;
// str = qstr.toStdString();
// cout<<str<<endl;
qstr = QString::fromStdString(str);
qDebug()<<qstr<<endl;
// QStringList qStrLst;
// qStrLst<<"abcd"<<"1234";
// qDebug()<<qStrLst<<endl;
// qStrLst.append("axyz");
// qDebug()<<qStrLst<<endl;
// QString qstr = qStrLst.join("");
// qDebug()<<qstr<<endl;
// QStringList qLst = qStrLst.filter("a");
// qDebug()<<qLst<<endl;
// string str = "4321";
// QString qstr = QString::fromStdString(str);
// qDebug() << qstr << endl;
// qstr.prepend("abc");
// qDebug() << qstr << endl;
// qDebug() << qstr.count() << endl;
// qstr.insert(3,"xyz");
// qDebug() << qstr << endl;
QStringList qstrlst;
qstrlst << "abcd" << "1234" ;
qstrlst.append("axyz");
qDebug() << qstrlst << endl;
qDebug() << qstrlst.join("") << endl;
QStringList qstr = qstrlst.filter("a");
qDebug() << qstr << endl;
return a.exec();
}