split一个复杂的string,多个逗号

在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

最后,我们得到了三个新的字符串变量 s1s2s3,它们分别包含了原始字符串中的前三个、第四个到第六个、第七个到第九个子字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间简史u

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值