我有以下格式的字符串:
str = "1:20 2:25 3:0.432 2:-17 10:12"
例如,我想将所有以 "2:" 开头的字符串替换为 "2:0",从而得到:
str = "1:20 2:0 3:0.432 2:0 10:12"
replace 函数不够用,因为它会导致
str.replace("2:", "2:0") = "1:20 2:025 3:0.432 2:0-17 10:12"
是否有用于此的 Python 函数?
请您参考如下方法:
您可以使用 str.startswith 完成您的任务和 str.split :
s = "1:20 2:25 3:0.432 2:-17 10:12"
print(" ".join(["2:0" if ch.startswith("2:") else ch for ch in s.split()]
输出:
1:20 2:0 3:0.432 2:0 10:12
ch.startswith("2:") 检查拆分后的每个子字符串,看它是否以 "2:" 开头,如果是,我们将其替换为 "2:0" 否则我们只保留调用 str.join 重新加入字符串的原始子字符串。
