J'ai la méthode suivante pour vérifier que cette chaîne contient uniquement des symboles latins.Vérifier que la chaîne contient des lettres non latines
private boolean containsNonLatin(String val) {
return val.matches("\\w+");
}
Mais il retourne faux si je passe la chaîne: my string
car il contient l'espace. Mais j'ai besoin de la méthode qui va vérifier que si la chaîne contient des lettres qui ne sont pas en alphabet latin, elle devrait retourner false et elle devrait retourner vrai dans tous les autres cas.
S'il vous plaît, aidez-moi à améliorer ma méthode.
exemples de chaînes valides:
w123.
w, 12
w#123
dsf%&@
Si vous devez faire correspondre uniquement des lettres ASCII et un espace, utilisez 'retour val.matches (" [ \\ p {Alpha}] + ");' –
@Wiktor Stribiżew Je ne dois retourner le faux que si je vois des symboles d'autres alpabets. Chinois par exemple – gstackoverflow
'" [\\ p {Alpha}] + "' n'autorise pas le chinois, seulement les lettres ASCII et un espace régulier (valeur de 32 déc.). Vous pouvez également utiliser '[\\ p {L} \\ p {M} && [^ \\ p {Alpha}]] +' pour faire correspondre une ou plusieurs lettres quelconques sauf ASCII. –