在两个空格之间添加字符

时间:2019-09-16 14:44:52

标签: python regex

我有一个字符串:

string_str_____word 

下划线表示空格。我要添加“ |”如果重复空格:

string_str_|_|_|_|_word

我尝试过

re.sub(r'[ ]{2,}',' | ', word)
>string_str_|_word

但是正则表达式取代了所有内容。

2 个答案:

答案 0 :(得分:0)

您可以使用正向前行以避免占用第二个空格:

import re

word = 'string str     word'

print(re.sub(r' (?= )', ' |', word))

输出:

string str | | | | word

答案 1 :(得分:0)

您正在使用[ ]{2,}匹配2个或更多空格,并用 | 替换。

但是您要匹配单个空格,并在后面有空格的情况下用单个空格和管道替换。

您可以使用正向前进(?=在右边声明一个空格。

在替换中,使用空格和管道。 (不需要方括号)

[ ](?=[ ])

Regex demo | Python demo