我有一个字符串:
searchString = "u:sads asdas asdsad n:sadasda as:adds sdasd dasd a:sed eee"
Run Code Online (Sandbox Code Playgroud)
我想要的是列表:
["u:sads asdas asdsad","n:sadasda","as:adds sdasd dasd","a:sed eee"]
Run Code Online (Sandbox Code Playgroud)
我所做的是:
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
Run Code Online (Sandbox Code Playgroud)
但我想在python 2.6中使用优化代码.
谢谢
Dor*_*mer 13
使用正则表达式:
import re
mylist= re.split('\s+(?=\w+:)', searchString)
Run Code Online (Sandbox Code Playgroud)
这会将字符串分割到一个空格,后跟一个或多个字母和冒号.前瞻((?=部分)使其在保留\w+:部件的同时在空白上分开