Python不识别空白字符
我对这个问题已经束手无策了:基本上,我需要消除单词之间的两个空格。我的程序恰巧是用希伯来语编写的,但这是基本思想:Python不识别空白字符,python,regex,Python,Regex,我对这个问题已经束手无策了:基本上,我需要消除单词之间的两个空格。我的程序恰巧是用希伯来语编写的,但这是基本思想: TITLE: הלכות השכמת הבוקר 请注意,前两个单词之间有一个额外的空格(Herbew从右向左阅读) 我尝试了很多很多不同的方法,这里有一些: # tried all these with and without unicode title = re.sub(u'\s+',u' ',title.decode('utf-8')) title = titl
TITLE: הלכות השכמת הבוקר
请注意,前两个单词之间有一个额外的空格(Herbew从右向左阅读)
我尝试了很多很多不同的方法,这里有一些:
# tried all these with and without unicode
title = re.sub(u'\s+',u' ',title.decode('utf-8'))
title = title.replace(" "," ")
title = title.replace(u" הלכות",u" הלכות")
直到最后,我求助于制作一个非常不必要的方法(粘贴时一些格式被弄乱了):
让我大吃一惊的是,这就是我得到的回报:
word: הלכות
^NOT BLANK^
word: #this should be tagged as Blank!!
^NOT BLANK^
word: השכמת
^NOT BLANK^
word: הבוקר
^NOT BLANK^
很明显,我的资格赛不起作用。这里发生了什么?有一个隐藏的\xe2\x80\x8e,从左到右的标记。使用repr(word)找到它。谢谢@mgilson 如果打印单词的
repr
,会发生什么情况<代码>打印“word:”,报告(word)?您可能有一个unicode空格,例如,空格之间至少有一个不可见字符。我不知道那个字符是什么,但正是它引起了你的困惑。如果粘贴的内容可信,你就可以在你的一些空格之间坐下来。@mgilson谢谢你的提示。我尝试了RPR(Word),对于空白空间,我得到了这个值:\xE2\x80\x8f。它实际上在每个字符串的开头。查找它:\xe2\x80\x8e,从左到右标记
word: הלכות
^NOT BLANK^
word: #this should be tagged as Blank!!
^NOT BLANK^
word: השכמת
^NOT BLANK^
word: הבוקר
^NOT BLANK^