如何从python中的特定字符串中切出字符串

时间:2018-10-10 19:11:01

标签: python

好的,可以说我有

s = 'ABC Here DEF GHI toHere JKL'

我想得到一个新字符串,其中仅包含HeretoHere之间的字符串

new_str = 'DEF GHI'

(我不知道在Here之前有多少个字符或其他任何字符) 我只知道字符串中有HeretoHere。 如何获得new_str

4 个答案:

答案 0 :(得分:4)

最简单的方法是使用切片:

s[s.find('Here') + len('Here') : s.find('toHere')]
#' DEF GHI '

如果需要,您可以.strip()从结果中留出空白。

答案 1 :(得分:1)

使用索引可能会有用

str1 = 'ABC Here DEF GHI toHere JKL' 
try:
    start=str1.index('Here')+len('Here')
    end=str1.index('toHere')

    print(str1[start:end].strip())
except ValueError:
    print('Either of the substring not found')

答案 2 :(得分:0)

您可以使用enumerate.split()来获取新切片的正确索引,然后使用' '.join()来获取新切片

s = 'ABC Here DEF GHI toHere JKL'
s = s.split()
for i, v in enumerate(s):
    if v == 'Here':
        start = i + 1
    if v == 'toHere':
        end = i
print(' '.join(s[start:end]))
# DEF GHI

答案 3 :(得分:0)

最简单的方法是使用分割(imho)

print(s.split("Here",1)[-1].split("toHere",1)[0])

如果没有HeretoHere不存在,它将无法按您的预期工作(它将遭受与其他解决方案相同的后果)