Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.

Para validar se uma string contém apenas letras latinas, incluindo acentos, uma abordagem prática é usar expressões regulares com a classe Pattern. Assim, você consegue uma validação eficiente sem precisar percorrer caractere por caractere.
Um exemplo de regex seria: `^[a-zA-ZÀ-ÿ]+. Essa expressão cobre letras maiúsculas, minúsculas e acentuadas. Pode-se usar assim:
Pattern pattern = Pattern.compile("^[a-zA-ZÀ-ÿ]+$"). Matcher matcher = pattern.matcher(suaString). boolean valido = matcher.matches().
É importante testar com exemplos reais, pois a faixa À-ÿ cobre uma gama extensa de caracteres acentuados do Latin-1. Para maior precisão, pode ser necessário ajustar o intervalo ou usar Unicode. Apesar disso, esse método costuma resolver a maioria dos casos em validações simples. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No seu time, qual a preocupação principal ao validar esse tipo de dado? Segurança, performance ou compatibilidade com diferentes idiomas? Assim, dá pra pensar em uma solução que equilibre bem esses fatores. Por isso, o recorte pr ecisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois.
No meu time, validar assim funciona bem, mas às vezes a gente prefere uma validação mais simples no frontend e uma mais rigorosa no backend, pra evitar erro na entrada de dados.
foi caraaaaai no meu time eu tentaria achar onde segurança entra no fluxo real. Sem esse recorte, fica fácil vender ganho e esquecer manutenção.
Eu faria um teste com alguns exemplos, principalmente com caracteres que às vezes passam despercebido, como o ç ou ñ. A faixa
À ÿcobre bem esses casos, mas é bom validar com exemplos reais.Sim, e tem que ficar atento ao encoding da sua fonte de dados também, pq um caractere mal codificado pode passar na validação, mas dar problema na hora de processar.
Concordo com o Felipe. Também acho importante validar se o regex cobre todas as variações que seu sistema pode receber. Se for usar Unicode, talvez precise de algo mais robusto.