例如,如果我有:

"+----+----+---+---+--+"


是否可以将第二个到第四个+替换为-

如果我有

"+----+----+---+---+--+"


我想要

"+-----------------+--+"


我必须将第2个到第4个+替换为-。正则表达式可以实现这一目标吗?如何?

最佳答案

这是pythonic。

import re
s = "+----+----+---+---+--+"
idx = [ i.start() for i in re.finditer('\+', s) ][1:-2]
''.join([ j if i not in idx else '-' for i,j in enumerate(s) ])


但是,如果您的字符串是常量并且想要简单

print (s)
print ('+' + re.sub('\+---', '----', s)[1:])


输出:

+----+----+---+---+--+
+-----------------+--+

关于python - Python:如何从第i个匹配项替换为第j个匹配项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46118886/

10-10 19:40