我从瑞典语的网页中提取信息。此页面使用的字符如下:öäå。如何获得正则表达式来将非ASCII字符识别为字母?
我的问题是,当我打印信息时,ääå已经消失。
我使用美丽的汤提取信息。我认为问题在于我在我提取的字符串上做了一堆正则表达式,例如location = re.sub(r'([^\w])+', '', location)
删除除字母以外的所有内容。在此之前,我想美丽的汤编码的字符串,使ääå成为像/ x02 /,一个十六进制值。
所以,如果我是正确的,那么正则表达式正在删除öäå,对,我的意思是应该留在十六进制字符的唯一东西是x之后的正则表达式,但没有x而不是öäå对我页面,所以这个小理论可能不正确?无论如何,如果它是对还是错,你如何解决这个问题?当我稍后将提取的信息打印到我的网页时,我在google应用引擎中使用了self.response.out.write()(不知道这是否有助于解决问题)
编辑:瑞典网站上的编码是utf-8,我网站上的编码也是utf-8。 EDIT2:您可以使用ISO-8859-10瑞典,但据谷歌Chrome编码为Unicode在这个特定的网站(UTF-8)
我想用'BeautifulSoup'是不使用正则表达式的整点。 – RanRag 2012-04-15 19:05:27
请阅读http://www.joelonsoftware.com/articles/Unicode.html – jsbueno 2012-04-15 19:12:41
这可能是一个编码问题(UTF-8与ISO-8859-x,其中x代表任何代码页用于瑞典语),但没有有关正在使用的编码的更多细节很难说清楚。 – 2012-04-15 19:13:06