使用Python以空格分隔字符串中的单词

2024-06-16 11:47:13 发布

您现在位置: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

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

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


Tags: 字符串textstreet方式单词atavalonroom
1条回答
网友
1楼 · 发布于 2024-06-16 11:47:13

要用空格替换冒号,请使用.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拆分成单独的单词并不是regex所能决定的,当然,您可以定义一个进行拆分的规则。你知道吗

相关问题 更多 >