Question

Comment puis-je déterminer si String contient uniquement des alphabets et que je souhaite avoir un peu plus de [a-zA-Z] +, existe-t-il un moyen de déterminer les alphabets par paramètres régionaux?

Était-ce utile?

La solution

Le Caractère < La classe / a> utilise des méthodes telles que isLetter qui permettra de déterminer si un caractère est une lettre telle que définie dans la spécification de l'API pour la méthode.

Une autre approche consiste à utiliser le Character.UnicodeBlock qui permet de déterminer si un caractère est dans un bloc de caractères spécifique de katakana complet, et pour pouvoir le faire, je devais utiliser le Character.UnicodeBlock.of :

boolean isKatakana = 
    Character.UnicodeBlock.of(c) == Character.UnicodeBlock.KATAKANA;

À ajouter également, le caractère situé à un certain index d'une String peut être récupéré à l'aide de charAt (int) , et le point de code Unicode peut être récupéré par la méthode codePointAt (int) méthode.

Autres conseils

Découvrez également le package com.ibm.icu.text. Par exemple, cet extrait renvoie toutes les lettres de l'alphabet pour la langue définie:

ULocale ulocale = com.ibm.icu.util.ULocale
    .forLocale(Locale.forLanguageTag(language));
UnicodeSet set = LocaleData.getExemplarSet(ulocale, LocaleData.ES_STANDARD);
Iterator<String> iterator = set.iterator();
StringBuffer buf = new StringBuffer();
while (iterator.hasNext()) {
  buf.append(iterator.next());

}
return buf.toString();

Cette tâche ne peut pas être atteinte par le biais des packages java. *.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top