看板 Python 關於我們 聯絡資訊
我有一些 utf-8 資料,我想要知道某個字元是否是英文字母 (而非中文字), 要如何做最好?我想過要轉成 ascii code 再比大小,結果不知道怎麼轉。 現在我的作法就是去看現在這個字元是否是 string.ascii_letters 的子字串。 這樣會不會太笨了點... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.160.62
Lucemia:用regular expression ? 05/05 20:28
ykjiang:如果懶得爬文的話,等我 blog 好後再通知你去看 :p 05/05 21:38
weijr:ord 或直接比 05/05 22:23
ykjiang:剛剛試了一下,的確直接比就可以了 :) 05/05 23:24
ykjiang:另外英文字母的unicode剛好跟Ascii是一樣的,雖byte數不同 05/05 23:26
huggie:ntf-8 跟 ascii 在 ascii 部份 byte 數應該是一樣的吧 05/08 09:18
huggie:我爬文爬不到.. 現在這樣比要比很多字母.效率應該不高 05/08 09:19
huggie:轉成unsigned-int比大小我以為會比較快.. 05/08 09:20
ykjiang:Python 的 Unicode 字元應該不是用 utf8 來存... 05/12 20:56
huggie:我讀檔的檔案是 utf-8 所以..有人知道怎麼轉了沒有 05/13 08:15
yungyuc:string.isalpha() 05/13 08:59
yungyuc:libref 就有解答了 05/13 09:00
yungyuc:如果問題是在不知道怎麼轉 UTF-8 -> Unicode 05/13 09:00
yungyuc:則洽 string.decode/string.encode 05/13 09:01
huggie:不是..問題是想要知道是否是英文字或者是中文字 05/13 09:05
huggie:不需要轉 05/13 09:05
huggie:isalpha()可以區分數字還是中文字嗎? 05/13 09:10
huggie:islapha() 中文字如果是 false 就跟數字分不開 05/13 09:12
huggie:如果是 True 就跟英文字分不開.. 05/13 09:12
huggie:我需要把英文逗點/句號給改成中文逗點/句號,因此需要判斷 05/13 09:13
huggie:前面一個字元是中文字還是英文字。 05/13 09:13
huggie:喔我找到二樓講的ord了..囧..好像就是我要的 05/13 09:22
huggie:ord() 05/13 09:22
huggie:Unicode code point of the character 是什麼意思? 05/13 09:23
ykjiang:前面有 unicode 討論串,請爬文... 05/13 23:53
ykjiang:把 utf-8 轉成 unicode 後,再來處理,會簡單很多 05/14 00:17
godfat:為什麼 utf-8 不是 unicode??? 05/14 00:51
yungyuc:視 unicode 的定義而定;utf-8 是一種外碼 05/14 03:23
yungyuc:不過 Python 的 unicode 物件存 code point,不用外碼 05/14 03:24
yungyuc:如果你說 utf-8 是否為 unicode 的一種編碼?是 05/14 03:25
yungyuc:但對 Python unicode 物件來說,並不是這麼回事 05/14 03:25