在两个空格之间添加字符

2024-04-25 07:46:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有字符串:

string_str_____word 

其中下划线表示空格。如果空格重复,我想加上“|”:

string_str_|_|_|_|_word

我试过了

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

但regex取代了一切。你知道吗


Tags: 字符串restringregexword空格str
2条回答

您正在使用[ ]{2,}匹配2个或多个空格,并将其替换为 | 。你知道吗

但是您希望匹配一个要替换为单个空间和管道的单个空间,而后面有一个空间。你知道吗

您可以使用正向的lookahead(?=来断言右边的空格。你知道吗

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

[ ](?=[ ])

Regex demo| Python demo

您可以使用正向展望来避免占用第二个空间:

import re

word = 'string str     word'

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

输出:

string str | | | | word

相关问题 更多 >