我有一个像这样的字符串:

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+: 部分

10-07 19:01
查看更多