我想将字符串("|伊士曼柯达公司/")中'|‘和'/’之间的文本替换为‘!’。
s = '柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/'
print(s)
s = re.sub(r'\|.*?\/.', '/!!!', s)
print('\t', s)我首先在https://regex101.com/上测试了代码,它工作得很好。
我不太明白为什么它不在python中进行替换。
我尝试过的转义变体还包括:
s = re.sub(r'|.*?\/.', '!!!', s)
s = re.sub(r'|.*?/.', '!!!', s)
s = re.sub(r'\|.*?/.', '!!!', s)每次字符串都原封不动地出来。
发布于 2019-03-11 20:48:46
您可以将正则表达式更改为这个正则表达式,它使用查找来确保要替换的内容前面是|,后面是/
(?<=\|).*?(?=/)查看这段Python代码,
import re
s = '柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/'
print(s)
s = re.sub(r'(?<=\|).*?(?=/)', '!!!', s)
print(s)你想要的指纹,
柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/
柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|!!!/https://stackoverflow.com/questions/55101554
复制相似问题