Python正则表达式替换字符串的一部分

2024-10-03 19:23:04 发布

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

我正在尝试替换字符串的特定部分。每次我有一个反斜杠,后跟一个大写字母,我希望反斜杠被替换为制表符。比如在这种情况下:

Hello/My daugher/son

输出应该如下所示

Hello    My daugher/son

我试过使用回复sub():

for x in a:
    x = re.sub('\/[A-Z]', '\t[A-Z]', x)

但后来我的输出变成:

Hello    [A-Z]y daugher/son

这不是我想要的。有没有更好的方法来解决这个问题,也许不是在regex中?你知道吗


Tags: 方法字符串inrehelloformy情况
1条回答
网友
1楼 · 发布于 2024-10-03 19:23:04

可以用\t替换/(?=[A-Z])。注意,在Python中,不需要将/转义为\/

检查Python代码

import re 

s = 'Hello/My daugher/son'
print(re.sub(r'/(?=[A-Z])',r'\t',s))

指纹

Hello   My daugher/son

或者,按照您尝试替换的方式,您需要使用/([A-Z])regex捕获组中的大写字母,然后将其替换为\t\1,以还原在group1中捕获的内容。检查这个Python代码

import re 

s = 'Hello/My daugher/son'
print(re.sub(r'/([A-Z])',r'\t\1',s))

再次打印

Hello   My daugher/son

相关问题 更多 >