gpt4 book ai didi

python - 如何用正则表达式以不同的方式替换某些正斜杠?

转载 作者:行者123 更新时间:2023-12-01 01:16:18 25 4
gpt4 key购买 nike

假设我有这些字符串:

this_string = 'US/Canada'

that_string = '/fowardslash @/t t/'

我希望能够re.sub()具有这两个目标的字符串:

1) 将前后没有字母的所有/替换为空''

2) 将前后字母的所有/替换为空格。

所以我想要的最终结果是这样的:

this_string = 'US Canada'

that_string = 'forwardslash @t t'
<小时/>

我目前有这个re.sub('[^A-Za-z0-9\s]+','', this_string)

它实现了第一个目标,但没有实现第二个目标。

我会得到this_string = 'USCanada'

最佳答案

您可以将 re.sub() 与自己的替换函数一起使用。

示例:

import re

this_string = 'US/Canada'
that_string = '/fowardslash @/t t/'

def myreplace(match):
if match.group(1) is not None and match.group(2) is not None:
return match.group(1) + ' ' + match.group(2)
else:
return ''

print(re.sub(r'(?:([A-Za-z0-9]+)/([A-Za-z0-9]+))|(/)', myreplace, this_string))
print(re.sub(r'(?:([A-Za-z0-9]+)/([A-Za-z0-9]+))|(/)', myreplace, that_string))

关于python - 如何用正则表达式以不同的方式替换某些正斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54317952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com