在qt下,想要将以下字符串进行split分割,
Qstring buf = 47cc47cd47ce47cf47d047d147d247d347d447d5 ,
想得到的最终输出结果是,四个字符一组:
47cc
47cd
47ce
47cf
47d0
47d1
47d2
47d3
47d4
47d5
QStringList list = buf.split(??);
给你两个方法可以达到你想要的效果:
方法一:字符串分割
QString buf = "47cc47cd47ce47cf47d047d147d247d347d447d5";
QStringList list = buf.split("47");
list.removeFirst(); // 移除第一个多余的空串
for (int i = 0; i < list.size(); i++) {
list.replace(i, ("47" + list.at(i))); // 把缺少的47加上
}
方法二:字符串截取
QString buf = "47cc47cd47ce47cf47d047d147d247d347d447d5";
QStringList list;
for (int i = 0; i < buf.size(); i += 4) {
list.append(buf.mid(i, 4)); // 截取字符串,参数一:从这个位置开始截取,参数二:截取多少个
}
如果问题解决,点个采纳吧!
这种并不适用于用分割函数来实现,既然每组四个字符的话,你直接用字符串截取就好了。