我有一个像这样的字符串:
searchString = "u:sads asdas asdsad n:sadasda as:adds sdasd dasd a:sed eee"
我想要的是列表:
["u:sads asdas asdsad","n:sadasda","as:adds sdasd dasd","a:sed eee"]
我所做的是:
values = re.split('\s', searchString)
mylist = []
word = ''
for elem in values:
if ':' in elem:
if word:
mylist.append(word)
word = elem
else:
word = word + ' ' + elem
list.append(word)
return mylist
但我想要 python 2.6 中的优化代码。
谢谢
最佳答案
使用正则表达式:
import re
mylist= re.split('\s+(?=\w+:)', searchString)
这会在任何有空格后跟一个或多个字母和冒号的地方拆分字符串。前瞻(
(?=
部分)使其在空白处拆分,同时保留 \w+:
部分