QtQstring字符串的查、替换、切割操作⽂章⽬录
查
直接上代码
namespace是干嘛的#include <QtWidgets/QApplication>
#include <Qstring>
#include <Qdebug>
#include <iostream>
using namespace std;
int main(int argc,char*argv[])
{
QApplication a(argc, argv);
QString str ="xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd}sa";
qDebug()<< str;
//取括号之前
int bpos = str.indexOf("{");//从前⾯开始查
int epos = str.lastIndexOf("}");//从后⾯开始查
qDebug()<< str.left(bpos)<<bpos;//输出左边第N个字符串
//取括号后⾯
qDebug()<< str.right(str.size()-epos-1);//输出右边第N个字符串
//取括号中间的的
QString str2 = str;//chop是直接对对象进⾏操作(会改变对象)
str2.chop(str2.size()-str2.lastIndexOf("}"));//chop把字符串后N个丢弃
qDebug()<< str2;
qDebug()<< str2.right(str2.size()-str2.indexOf("{")-1);
();
}
结果
"xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd}sa"
"xcjasd,asdasd,"14
"sa"
"xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd"
",[name],[id]},[name],asda[name]sd"
以上对字符串处理函数进⾏了简单的使⽤以对“{ }”的前⾯、中间、后⾯的内容进⾏打印输出。
替换replace
#include <QtWidgets/QApplication>
#include <Qstring>
#include <Qdebug>
#include <iostream>
using namespace std;
int main(int argc,char*argv[])
{
QApplication a(argc, argv);
QString str ="xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd}sa"; QString str2 = str;
qDebug()<< str2;
qDebug()<< str2;
();
}
结果
"xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd}sa"
"xcjasd,asdasd,{,xiaoming,007},xiaoming,asdaxiaomingsd}sa"
以上可以看出替换操作也是直接对对象进⾏操作
字符串切割
#include <QtWidgets/QApplication>
#include <Qstring>
#include <Qdebug>
#include <iostream>
using namespace std;
int main(int argc,char*argv[])
{
QApplication a(argc, argv);
QString str ="xcjasd,asdasd,{,[name],[id]},[name],asda[name]sd}sa"; QStringList list1 = str.split(",");
for(int i =0; i < list1.size(); i++)
{
qDebug()<< list1[i];
}
();
}
结果
"xcjasd"
"asdasd"
"{"
"[name]"
"[id]}"
"[name]"
"asda[name]sd}sa"
还可以通过正则表达式进⾏以上操作
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论