我有一个字符串:
string_str_____word
下划线表示空格。我要添加“ |”如果重复空格:
string_str_|_|_|_|_word
我尝试过
re.sub(r'[ ]{2,}',' | ', word)
>string_str_|_word
但是正则表达式取代了所有内容。
答案 0 :(得分:0)
您可以使用正向前行以避免占用第二个空格:
import re
word = 'string str word'
print(re.sub(r' (?= )', ' |', word))
输出:
string str | | | | word
答案 1 :(得分:0)
您正在使用[ ]{2,}
匹配2个或更多空格,并用 |
替换。
但是您要匹配单个空格,并在后面有空格的情况下用单个空格和管道替换。
您可以使用正向前进(?=
在右边声明一个空格。
在替换中,使用空格和管道。 (不需要方括号)
[ ](?=[ ])