Détecter des chaînes avec des caractères non anglais en Python
J'ai quelques chaînes qui ont un mélange d'anglais et aucun anglais lettres. Par exemple:
w='_1991_اف_جي2'
Comment puis-je reconnaître ces types de chaîne à l'aide de Regex ou de toute autre méthode rapide en Python?
Je préfère ne pas comparer les lettres de la chaîne de caractères un par un avec une liste de lettres, mais pour ce faire d'un seul coup et rapidement.
source d'informationauteur TJ1
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement vérifier si la chaîne peut être codé uniquement avec des caractères ASCII (qui sont en alphabet Latin + quelques autres caractères). Si elle ne peut pas être codée, puis il a les caractères à partir d'un autre alphabet.
Note le commentaire
# -*- coding: ....
. Il devrait être là dans le haut du fichier python (dans le cas contraire, vous recevrez une erreur à propos de l'encodage)Il sera de retour
F, T, F, F, T
Si vous travaillez avec des chaînes de caractères (et non unicode objets de), vous pouvez le nettoyer avec de la traduction et de vérifier avec
isalnum()
ce qui est mieux que de lancer des Exceptions:Aussi, vous pouvez filtrer les caractères non-ascii de chaîne avec cette fonction: