2024-04-25 07:46:31 发布
网友
我有字符串:
string_str_____word
其中下划线表示空格。如果空格重复,我想加上“|”:
string_str_|_|_|_|_word
我试过了
re.sub(r'[ ]{2,}',' | ', word) >string_str_|_word
但regex取代了一切。你知道吗
您正在使用[ ]{2,}匹配2个或多个空格,并将其替换为 | 。你知道吗
[ ]{2,}
|
但是您希望匹配一个要替换为单个空间和管道的单个空间,而后面有一个空间。你知道吗
您可以使用正向的lookahead(?=来断言右边的空格。你知道吗
(?=
在替换中使用空间和管道。(不需要方括号)
[ ](?=[ ])
Regex demo| Python demo
您可以使用正向展望来避免占用第二个空间:
import re word = 'string str word' print(re.sub(r' (?= )', ' |', word))
输出:
string str | | | | word
您正在使用
[ ]{2,}
匹配2个或多个空格,并将其替换为|
。你知道吗但是您希望匹配一个要替换为单个空间和管道的单个空间,而后面有一个空间。你知道吗
您可以使用正向的lookahead
(?=
来断言右边的空格。你知道吗在替换中使用空间和管道。(不需要方括号)
[ ](?=[ ])
Regex demo| Python demo
您可以使用正向展望来避免占用第二个空间:
输出:
相关问题 更多 >
编程相关推荐