我從瑞典語的網頁中提取信息。此頁面使用的字符如下:öäå。如何獲得正則表達式來將非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