从str切片str并添加到列表[Python]

2024-10-06 12:07:45 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有:

text = 'Hi my name is !bob i like to !eat'  

我想创建一个包含感叹号后面的单词的列表。所以我想要一个函数,它创建一个如下的结果:

>>> my_function(text)  
['bob', 'eat']

到目前为止,我能想到的只有:

>>> test_string = text['!':' ']  

但我不能用字符串代替索引。有什么建议吗

注:我希望他们都是小写与副本包括在内


Tags: to函数textnametest列表ismy
3条回答

你可以在!split,然后再在' 'split。从第二部分的每个部分中选取第一个条目

[segment.split()[0] for segment in text.split("!")[1:]]
# ['bob', 'eat']

最简单的解决方案[可能看起来不像pythonic;)]我能想到的是:

words = [x[1:] for x in text.split(" ") if x[0]=='!']

print(words)

输出:

['bob', 'eat']

我可以使用正则表达式:

import re
text = 'Hi my name is !bob i like to !eat'
test_string = re.findall(r'!(\w+)', text)
print(test_string)

结果:

$ python x.py 
['bob', 'eat']

相关问题 更多 >