为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨__羊羊 2021-07-08 14:11:46
好的,所以可以说我有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(),您可以从结果中去除空白。


查看完整回答
反对 回复 2021-07-13
?
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')


查看完整回答
反对 回复 2021-07-13
?
弑天下

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


查看完整回答
反对 回复 2021-07-13
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

最简单的方法是使用拆分(恕我直言)

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

如果Here不存在或toHere不存在粗略,它将无法按您的预期工作(它将遭受与其他解决方案相同的后果)


查看完整回答
反对 回复 2021-07-13
  • 4 回答
  • 0 关注
  • 264 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信