Puede usar String#matches()
con un bit regex para esto. Los caracteres latinos están cubiertos por \w
.
lo que este debe hacer:
boolean valid = input.matches("\\w+");
Esto por cierto también cubre los números y el guión bajo _
. No estoy seguro si eso perjudica. De lo contrario, simplemente puede usar [A-Za-z]+
.
Si también desea cubrir diacritical characters (ä, é, ò, etc., por definición también caracteres latinos), debe normalizar primero y eliminar las marcas diacríticas antes de hacer coincidir, simplemente porque no hay (documentado) regex que cubra diacríticos.
String clean = Normalizer.normalize(input, Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
boolean valid = clean.matches("\\w+");
actualización: hay una expresión regular indocumentado en Java que cubre diacríticos, así, la \p{L}
.
boolean valid = input.matches("\\p{L}+");
Above funciona en Java 1.6.
Hay caracteres ingleses?!?! Pensé que los caracteres en el idioma inglés son del alfabeto latino. –
bien si se refiere a los personajes ascii, entonces yo llamaría a esos caracteres ingleses ... o americanos. –