数字前的换行符

时间:2014-05-23 18:21:42

标签: python regex nlp

我正在清理文本文件并编写正则表达式以满足我的需要。然而,一个错误正在蔓延,我无法理解。

示例文字:

In the spring of 2014

预期结果:

In,the,spring,of,2014

但我的输出抛出:

In,the,spring,of,
2014

当我从文件中删除所有\ n,\ r,\ t时,我不明白为什么2014会进入换行符。这发生在我的文本块中的所有数字。任何一个词都会有所帮助。

编辑:我正在使用正则表达式

    newline = re.sub("[/ --(),.\n\r\t\\\\]+",",",line)

解决方案:错误是由文本编辑器引起的。我在Mac上使用TextEdit,不知道它为什么显示换行符。 Vim和emacs显示了一个干净的文件。

2 个答案:

答案 0 :(得分:2)

>>> import re
>>> pattern = re.compile('\s+')
>>> re.sub(pattern, ',', text)
'In,the,spring,of,2014'
>>> 

>>> ','.join(text.split(' '))
'In,the,spring,of,2014'

答案 1 :(得分:0)

您可能有一个不间断的空间 \xA0\x20是常用空间)。

正则表达式: [/\x20\xA0--(),.\n\r\t\\\\]+