我有一个以下格式的字符串:
str = "1:20 2:25 3:0.432 2:-17 10:12"
Run Code Online (Sandbox Code Playgroud)
我想,例如替换开头的所有字符串"2:"来"2:0",从而有:
str = "1:20 2:0 3:0.432 2:0 10:12"
Run Code Online (Sandbox Code Playgroud)
该replace功能不够,因为它会导致
str.replace("2:", "2:0") = "1:20 2:025 3:0.432 2:0-17 10:12"
Run Code Online (Sandbox Code Playgroud)
有没有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()]
Run Code Online (Sandbox Code Playgroud)
输出:
1:20 2:0 3:0.432 2:0 10:12
Run Code Online (Sandbox Code Playgroud)
ch.startswith("2:")在拆分之后检查每个子字符串以查看它是否以它开头"2:",如果是这样我们用"2:0"else 替换它我们只是保持原始子字符串调用str.join以重新加入字符串.