【发布时间】:2016-08-03 05:45:06
【问题描述】:
我有一个字符串:
>>> s = 'Y/NOUN/dobj>_hold/VERB/ROOT_<membership/NOUN/dobj_<with/ADP/prep_<X/PROPN/pobj_>,/PUNCT/punct'
目的是将Y/的位置更改为X/,例如:
>>> s.replace('X/', '@@').replace('Y/', 'X/').replace('@@', 'Y/')
'X/NOUN/dobj>_hold/VERB/ROOT_<membership/NOUN/dobj_<with/ADP/prep_<Y/PROPN/pobj_>,/PUNCT/punct'
假设替换时不会发生冲突,即X/ 和Y/ 是唯一的,并且在原始字符串中只会出现一次。
有没有办法在没有占位符的情况下进行替换? 目前,我正在使用@@ 占位符交换位置。
【问题讨论】:
-
可以使用
\0而不是@@来减少冲突的机会。 -
是的,有办法。你在用 Python 吗?
-
@wiktor 是的,python。
标签: python regex string replace swap