Python:在字符串中的某个字符后抓取每个单词

时间:2015-02-10 19:19:12

标签: python string split slice irc

我想抓住每个在它之前有+的单词

如果我输入字符串:

 word anotherword +aspecialword lameword +heythisone +test hello

我希望它返回:

 aspecialword heythisone test

3 个答案:

答案 0 :(得分:3)

split与列表组合

组合在一起
>>> a = 'word anotherword +aspecialword lameword +heythisone +test hello'
>>> [i[1:] for i in a.split() if i[0] == '+']
['aspecialword', 'heythisone', 'test']

答案 1 :(得分:2)

尝试这样:

>>> my_str = "word anotherword +aspecialword lameword +heythisone +test hello"
>>> " ".join(x[1:] for x in my_str.split() if x.startswith("+"))
'aspecialword heythisone test'
  

str.startswith(前缀[,start [,end]])

     

如果字符串以前缀开头,则返回True,否则返回False。前缀也可以是要查找的前缀元组。使用可选的启动,测试字符串从该位置开始。使用可选的结尾,停止比较该位置的字符串。

答案 2 :(得分:1)

您可以使用正则表达式。

>>> import re
>>> re.findall(r'(?<=\+)\S+', "word anotherword +aspecialword lameword +heythisone +test hello")
['aspecialword', 'heythisone', 'test']

r'(?<=\+)\S+'匹配任何前面带加号的非空格字符序列。