我有一个格式为:
t='@abc @def Hello this part is text'
我想得到这个:
l=["abc", "def"]
s='Hello this part is text'
我这样做了:
a=t[t.find(' ',t.rfind('@')):].strip()
s=t[:t.find(' ',t.rfind('@'))].strip()
b=a.split('@')
l=[i.strip() for i in b][1:]
它在大多数情况下都有效,但是当文本部分有“@”时它会失败。例如,当:
t='@abc @def My email is red@hjk.com'
它失败。@names 在开头,@names 后面可以有文本,其中可能包含@。
显然,我可以在最初添加一个空格并找出没有'@'的第一个单词。但这似乎不是一个优雅的解决方案。
解决这个问题的pythonic方法是什么?