在Python中,String all= "3P=FR120,0,0,FR120,1000,0,FR110,0,2000"
条件1:每3个逗号为一个string变量,把all字符串拆分成3个QString变量。
条件2:如果剩余逗号不足3个,则将剩余的字符串作为一个QString变量
输出结果:str1 = "FR120,0,0"
str1 = "FR120,1000,0"
str1 = "FR110,0,2000"
all = "3P=FR120,0,0,FR120,1000,0,FR110,0,2000"
# 使用逗号分割字符串
parts = all.split(',')
# 将字符串分组为每 3 个一组,同时处理不足 3 个的情况
groups = [','.join(parts[i:i+3]) for i in range(0, len(parts), 3)]
# 输出结果
str1 = groups[0]
str2 = groups[1]
str3 = groups[2]
print(str1) # "FR120,0,0"
print(str2) # "FR120,1000,0"
print(str3) # "FR110,0,2000"
QString all = "3P=FR120,0,0,FR120,1000,0,FR110,0,2000";
QStringList parts = all.split(",");
QString str1, str2, str3;
if (parts.size() >= 3) {
str1 = parts[0] + "," + parts[1] + "," + parts[2];
parts.removeFirst(); // 删除前三个元素
parts.removeFirst();
parts.removeFirst();
}
if (!parts.isEmpty()) {
str2 = parts.join(",");
parts.clear();
}
if (!parts.isEmpty()) {
str3 = parts.join(",");
}
// 输出结果
qDebug() << "str1: " << str1;
qDebug() << "str2: " << str2;
qDebug() << "str3: " << str3;
在上面的代码中,我们先将原始字符串 all
按照逗号拆分成多个子字符串,并将它们存储在一个 QStringList
中。然后,我们依次处理这些子字符串,将它们拼接成新的字符串变量。如果剩余的子字符串不足三个,我们将它们拼接成一个新的字符串变量。
需要注意的是,为了避免访问 parts
时越界,我们在每个条件语句块中都先检查 parts
中是否有足够的子字符串。如果没有,我们就不再继续访问 parts
。
最后,我们得到了三个新的字符串变量 s1
、s2
和 s3
,它们分别包含了原始字符串中的前三个、第四个到第六个、第七个到第九个子字符串。