这样算吗?121238asdf<img class="BDE_Image" src="https://imgsa.baidu.com/forum/w%3D580/sign=da0493cd90ef76c6d0d2fb23ad14fdf6/e483aa4bd11373f0bddb2e73a40f4bfbf9ed04b1.jpg" width="560" height="420">
La chaîne est comme ci-dessus, le type est 'str', et les caractères chinois doivent être obtenus par régularité. Lorsque j'utilisais [u4e00-u9fa5] auparavant, j'avais toujours une liste de symboles et de chiffres en anglais. S'il vous plaît, apprenez-moi la bonne posture. Aussi, dites-moi où j'ai fait une erreur...
pattern = re.compile(r'[\u4E00-\u9FA5]')
print pattern.findall(x[1])
C'est ce que j'ai écrit... mais le résultat renvoyé ne contient pas de caractères chinois, mais d'autres caractères à l'exception des caractères chinois.
Je suppose ici que le texte que vous devez faire correspondre est
s
:Le
decode('utf8')
是怕s的值为类似x66x77x88
这样的Unicode散列。另外,需要注意compile()
中ur
修饰符,u
ici est le modificateur Unicode.PS : je me suis inspiré de cet article.
Mise à jour
Je viens de lire ce qui a été dit en bas. Il est vrai qu'avec Python 3, la sortie est un hachage Unicode. Ce qui suit est extrait d'ici
.Vous utilisez python2,
uxxxx
是unicode字符,匹配后得到的是字节
String, ce qui est imprimé est la valeur de chaque octet.Changez pour python
3
et ce problème disparaîtra