Maison >développement back-end >Tutoriel Python >Partager une méthode de parcours de chaînes (y compris les caractères chinois) à l'aide de python

Partager une méthode de parcours de chaînes (y compris les caractères chinois) à l'aide de python

Y2J
Y2Joriginal
2017-05-02 15:01:502052parcourir

Cet article présente principalement des informations pertinentes sur des exemples détaillés de chaînes de traversée Python (y compris les caractères chinois) Les amis dans le besoin peuvent se référer à

Exemples détaillés de chaînes de traversée Python (y compris les caractères chinois)

s = "中国china"
for j in s:
  print j
Tout d'abord, quel est l'encodage de votre « a » ? Ce n'est peut-être pas ce que vous pensez gbk

>>> a='中国'
>>> a
Essayez-le comme ça. S'il sort avec 6 mots, cela signifie utf-8. S'il sort avec 4 mots, cela signifie gbk.


De plus, qu'il s'agisse d'utf-8 ou de gbk, il ne peut pas être parcouru de cette manière, car il sera ici retiré mot par mot. La machine virtuelle traite a comme une chaîne d'une longueur de len(a).


La prochaine étape est le problème de traversée.


La plupart des shells Linux sont par défaut en utf-8, donc un caractère chinois correspond à trois caractères, vous devez donc les lire trois par trois. Vous pouvez essayer :

>>> a[:3]
C'est le cas. apparaît sous la forme du caractère "中"


La commande par défaut de Windows est cp936, qui est gbk Un caractère chinois est composé de deux caractères, donc deux caractères sont lus comme deux caractères (a[: 2]) .

Il existe une autre façon de parcourir, de convertir la chaîne en Unicode, de sorte que le chinois et l'anglais soient un seul mot, et vous pouvez utiliser votre for i dans une méthode de traversée. L'avantage est que les caractères chinois et anglais ne forment qu'un seul mot, alors qu'en utf-8 et gbk, les lettres anglaises n'occupent qu'un seul mot.

s = u"中国china"
for j in s:
  print j
Le résultat est le suivant :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn