【发布时间】:2020-09-08 04:47:56
【问题描述】:
如何获取两个子字符串之间的内容?
例如在"Hello, I have a very expensive car"我想找到之间的内容
"Hello, I have" 和 "car",不管它是什么。
如何找到两个字符串之间的子字符串?
【问题讨论】:
如何获取两个子字符串之间的内容?
例如在"Hello, I have a very expensive car"我想找到之间的内容
"Hello, I have" 和 "car",不管它是什么。
如何找到两个字符串之间的子字符串?
【问题讨论】:
正则表达式的救援:
import re
text = "Hello, I have a very expensive car"
pattern = re.compile(r'(?P<start>Hello, I have)(?P<middle>.+?)(?P<end>car)')
match = pattern.search(text)
if match:
print(match.group('start'))
print(match.group('middle'))
print(match.group('end'))
哪个产量(空格是有意的):
Hello, I have
a very expensive
car
myVariable = "Hello, I have"
pattern = re.compile(rf'(?P<start>{myVariable})(?P<middle>.+?)(?P<end>car)')
【讨论】:
你可以试试这个:-
s = 'Hello, I have a very expensive car'
s = s.split(' ')
print(' '.join(s[s.index('have')+1:s.index('car')]))
输出:-
'a very expensive'
【讨论】:
尝试 Python 的“re”模块用于正则表达式:
import re
my_string = 'Hello, I have a very expensive car'
res = re.search('Hello, I have(.*)car', my_string)
print(res.group(1))
【讨论】:
如果周围没有其他文字,您可以删除 2 个字符串
value = "Hello, I have a very expensive car"
res = re.sub("(Hello, I have|car)", "", value).strip()
print(res) # a very expensive
【讨论】: