在Python中,如何在另外两个子字符串之间获得子字符串

在Python中,如何在另外两个子字符串之间获得子字符串,python,string,substring,Python,String,Substring,如何获取两个子字符串之间的内容? 例如,在“您好,我有一辆非常昂贵的车”中,我想查找以下内容: “你好,我有”和“车”,不管它是什么。 如何在两个字符串之间找到子字符串?您可以尝试以下方法:- s = 'Hello, I have a very expensive car' s = s.split(' ') print(' '.join(s[s.index('have')+1:s.index('car')])) 输出:- 'a very expensive' 您可以尝试以下方法:- s =

如何获取两个子字符串之间的内容? 例如,在
“您好,我有一辆非常昂贵的车”
中,我想查找以下内容:
“你好,我有”
“车”
,不管它是什么。 如何在两个字符串之间找到子字符串?

您可以尝试以下方法:-

s = 'Hello, I have a very expensive car'
s = s.split(' ')

print(' '.join(s[s.index('have')+1:s.index('car')]))
输出:-

'a very expensive'
您可以尝试以下方法:-

s = 'Hello, I have a very expensive car'
s = s.split(' ')

print(' '.join(s[s.index('have')+1:s.index('car')]))
输出:-

'a very expensive'

如果周围没有其他文本,您可以删除这两个字符串

value = "Hello, I have a very expensive car"
res = re.sub("(Hello, I have|car)", "", value).strip()
print(res) # a very expensive

如果周围没有其他文本,您可以删除这两个字符串

value = "Hello, I have a very expensive car"
res = re.sub("(Hello, I have|car)", "", value).strip()
print(res) # a very expensive

正则表达式来拯救:

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'))
看。
要获得可变文本,可以使用f字符串,如中所示:

myVariable = "Hello, I have"
pattern = re.compile(rf'(?P<start>{myVariable})(?P<middle>.+?)(?P<end>car)')
myVariable=“你好,我有”
pattern=re.compile(rf'(?P{myVariable})(?P.+?)(?Pcar'))

要拯救的正则表达式:

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'))
看。
要获得可变文本,可以使用f字符串,如中所示:

myVariable = "Hello, I have"
pattern = re.compile(rf'(?P<start>{myVariable})(?P<middle>.+?)(?P<end>car)')
myVariable=“你好,我有”
pattern=re.compile(rf'(?P{myVariable})(?P.+?)(?Pcar'))

尝试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))

对于正则表达式,请尝试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))

没关系,但是如果我有一个大字符串怎么办?没关系,但是如果我有一个大字符串怎么办?我怎么能用它来处理变量,比如(?PmyVariable)?@alondavidi:更新答案,使用f字符串。我怎么能用它处理变量,比如(?PmyVariable)?@alondavidi:更新答案,使用f字符串。