用替换字符串替换

时间:2016-09-02 16:20:19

标签: python string replace

我希望将##替换为<<>>进行替换。例如abc##123##qwe##asd##abc<<123>>qwe<<asd>>。当然,我可以逐个读取符号,检查它们,如果它是偶数时间,则替换为<<;如果是奇数时间,则替换为>>。但是在Python中有标准函数的强大集合,所以我想知道我是否可以使用它们来减少我的代码。

1 个答案:

答案 0 :(得分:1)

您可以使用以下语句仅更改##对,并保留不匹配的##

d = "abc##123##qwe##asd"
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d)

# 'abc<<123>>qwe##asd'

或者你可以这样做

re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d).replace("##","<<")

# 'abc<<123>>qwe<<asd'