我试图在特定字符串后仅捕获 1 个单词。例如,import remy_string="I love Apple juice, it is delicious."print(my_string.split("I love",1)[-1])我得到结果:Apple juice, it is delicious.但我只需要 1 个字,之后就什么都没有了。Apple 如何在 Apple 之后删除所有东西?我试过了rstrip,它有效,但不是最有效的方法。谢谢。
3 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
只需使用str.split两次并确保使用maxsplit以避免不必要的拆分:
my_string = 'I love Apple juice, it is delicious.'
res = my_string.split('I love', maxsplit=1)[-1]\
.split(maxsplit=1)[0]
'Apple'
慕容708150
TA贡献1831条经验 获得超4个赞
我会在你的正则表达式中尝试一个积极的回顾:
>>> import re
>>> my_string="I love Apple juice, it is delicious."
>>> re.search('(?<=I love )(\w+)', my_string).group(1)
'Apple'
Cats萌萌
TA贡献1805条经验 获得超9个赞
有很多方法可以做到。以最简单的形式,您可以执行以下操作:
>>> s = 'Apple juice, it is delicious.'
>>> s.split()[0]
'Apple'
或者使用功能齐全的正则表达式 ( import re)
>>> re.search(r'^[\S]*(?!\S\s)', s)
'Apple'
添加回答
举报
0/150
提交
取消