使用python将字符分隔为字符串中的空格

时间:2016-10-04 23:08:28

标签: python

text = "Avalon:Sydney 04March2009Bondi Street at a conferencemeeting room234". 

我想处理上面的字符串,例如单词是分开的而不是连接的。

我希望字符串打印如下:

"Avalon Sydney 04 March 2009 Bondi Street at a conference metting room 234"

现在将字符串分成单个单词。

我想使用正则表达式,但我失败了。

text = "Avalon:Sydney 04March2009Bondi Street at a conferencemeeting room234"
newtext = re.sub('[a-zA-Z0-9_:]','',text)

print text

上面的代码不起作用。有没有更好的正则表达式,我可以用来分隔单词。

正则表达式不应该只针对上面的句子,而是一个通用的正则表达式,它可以观察上面的模式并在同一个字符串中分成单个单词。

1 个答案:

答案 0 :(得分:0)

要用空格替换冒号,请使用.replace

text = text.replace(':', ' ')

要在数字和字母之间交替分割文本的部分内容,您可以使用正面背后的来捕捉前面带有数字或数字的单词,然后用后面的引用代替领先的空间:

text = re.sub(r'((?<=[a-zA-Z_])\d|(?<=\d)[a-zA-Z_])', r' \1', text)
print text
# 'Avalon Sydney 04 March 2009 Bondi Street at a conferencemeeting room 234'

conferencemeeting拆分为单独的单词并不是正则表达式,除了当然,你可以定义一个应该进行拆分的规则。