【发布时间】:2021-12-11 16:18:18
【问题描述】:
我想用 Python 从字符串中删除两个单词之间的子字符串,而不删除分隔该子字符串的单词。
我的输入:“abcde” 我想要的输出:“abde”
我的代码:
import re
s = "abcde"
a = re.sub(r'b.*?d', "", s)
我得到的输出:“ae”
------------编辑:
另一个例子来解释这个案例:
我输入的内容:“c:/user/home/56_image.jpg” 我想要的输出:“c:/user/home/image.jpg”
我的代码:
import re
s = "c:/user/home/56_image.jpg"
a = re.sub(r'/.*?image', "", s)
我得到的输出:“c:/user/home.jpg”
/!\“图像”之前的数字正在改变,所以我不能使用 replace() 函数我想使用通用的东西
【问题讨论】:
-
对
b使用lookbehind,对d使用lookahead(不知道如何在python中做到这一点......) -
像这样:
r'(?<=b).*?(?=d) -
你的标题有点混乱,因为你并没有真正处理文字。根据您的实际示例,您只想删除一个字母,并且可以很容易地做到:
s.replace('c', '') -
Temrikoo 这只是一个例子,我会调整它,谢谢你的回答,这就是我正在寻找的表达方式
-
在添加的示例中,您也可以使用
s.replace('56_', '')。