好的,所以可以说我有s = 'ABC Here DEF GHI toHere JKL'我希望得到一个新的字符串之间只有字符串Here和toHerenew_str = 'DEF GHI'(我不知道我之前Here或其他任何地方有多少或哪些字符)我只知道我有Here和toHere在字符串中。我怎样才能得到new_str?
4 回答
隔江千里
TA贡献1906条经验 获得超10个赞
最简单的方法是使用切片:
s[s.find('Here') + len('Here') : s.find('toHere')] #' DEF GHI '
如果需要.strip()
,您可以从结果中去除空白。
ABOUTYOU
TA贡献1812条经验 获得超5个赞
使用索引这可能很有用
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')
弑天下
TA贡献1818条经验 获得超8个赞
您可以使用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
繁花不似锦
TA贡献1851条经验 获得超4个赞
最简单的方法是使用拆分(恕我直言)
print(s.split("Here",1)[-1].split("toHere",1)[0])
如果Here
不存在或toHere
不存在粗略,它将无法按您的预期工作(它将遭受与其他解决方案相同的后果)
添加回答
举报
0/150
提交
取消