這篇文章主要介紹了python 遍歷字串(含漢字)實例詳解的相關資料,需要的朋友可以參考下
python 遍歷字串(含漢字)實例詳解
s = "中国china" for j in s: print j
首先一個,你這個'a'是什麼編碼?可能不是你所想的gbk
>>> a='中国' >>> a
這樣試試看,如果出來是6個字(word),表示是utf-8,如果是4個字,表示gbk。
另外,不管是utf-8還是gbk,都不能這樣遍歷,因為這裡它會一個字一個字拿出來。虛擬機器把a當成一個長度為len(a)的字串了。
接下來是遍歷問題。
Linux的shell大都預設是utf-8,所以一個中文字元是三個字,所以要三個三個地讀,你可以試試:
>>> a[:3]
出來就是個」中」字
windows的command的預設是cp936,也就是gbk,一個中文字元是兩個字,所以兩個字兩個字地讀(a[:2] )。
還有另一個遍歷的方法,把字串轉換成unicode,這樣中文英文都是一個字,就可以用你的for i in a的方法遍歷了。這個的好處是中文英文字都是一個字,而utf-8和gbk裡,英文字母只佔一個字。
s = u"中国china" for j in s: print j
輸出如下:
中 国 c h i n a
以上是分享一個用python遍歷字串(含漢字)的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!