ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して文字列 (漢字を含む) をトラバースする方法を共有する

Python を使用して文字列 (漢字を含む) をトラバースする方法を共有する

Y2J
Y2Jオリジナル
2017-05-02 15:01:502052ブラウズ

この記事では、主に Python の文字列 (漢字を含む) のトラバースに関する関連情報を詳細な例とともに紹介します。必要な友人は参照してください

Python の文字列 (漢字を含む) のトラバースと詳細な例を示します

s = "中国china"
for j in s:
  print j

まず第一に。 、あなたは「a」のエンコードは何ですか?あなたが思っている gbk ではないかもしれません

>>> a='中国'
>>> a

これを試してみてください。6 つの単語が出てきたら、それは utf-8 を意味します。4 つの単語が出てきたら、それは gbk を意味します。

また、utf-8であろうとgbkであろうと、ここでは単語ごとに取り出されるため、このようにトラバースすることはできません。仮想マシンは、 a を len(a) の長さの文字列として扱います。

次のステップはトラバーサル問題です。

ほとんどの Linux シェルはデフォルトで utf-8 なので、1 つの漢字は 3 つの単語であるため、3 つずつ読む必要があります:

>>> a[:3]

「中」という単語として出力されます

windows。デフォルトのコマンドは cp936 で、これは gbk です。1 つの漢字は 2 つの単語であるため、2 つの単語は 2 つの単語 (a[:2]) で読み取られます。

トラバースする別の方法があります。文字列を Unicode に変換して、中国語と英語をすべて 1 つの単語にし、トラバースするメソッドで for i を使用できます。この利点は、utf-8 と gbk では英語の文字が 1 つの単語のみを占めるのに対し、中国語と英語の文字はすべて 1 つの単語であることです。

s = u"中国china"
for j in s:
  print j

出力は次のとおりです:

中
国
c
h
i
n
a

以上がPython を使用して文字列 (漢字を含む) をトラバースする方法を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。