Alguém da lista conhece ou tem algum método para realizar replace com case insensitive, ou seja, ignorar se a palavra é maiúscula ou minúscula.
Grato ! [/b]
Alguém da lista conhece ou tem algum método para realizar replace com case insensitive, ou seja, ignorar se a palavra é maiúscula ou minúscula.
Grato ! [/b]
Use expressão regular para fazer isso!
String mod = "CaSA e Asa".replaceAll("(A|a)(S|s)(A|a)","---");
isso faz com que qualquer ocorrencia de ‘asa’ (case-insensitive) seja substituida por ‘—’
onde eu posso aprender a programar (tutorial, manual, etc) esta “expressão regular”
Expressões regulares são realmente uma ferramenta MUITO poderosa e as expressões podem ter complexidade enorme, pra ti entender de expressões regulares tens que pegar algum livro de Linguagens Formais e Compiladores na parte de Analisadores Léxicos que vc vai achar muita coisa sobre expressões regulares.
A O’Reilly tem um livro específico sobre ER - Mastering Regular Expressions
Na API Java tem algumas dicas dos simbolos que o java usa: Class Pattern
Esse cara aki foi meu professor de Linguagens Formais, excelente professor, vale a pena dar uma olhada no material do site.
Pesquise também sobre a Linguagem Perl - a linguagem abusa dos recursos de ER, dá pra fazer ‘mágica’…
É realmente muito interessante.
Vou dar uma pesquisada melhor, pois o replace case insensitive eu já consegui fazer.
Obrigado.
um exemplo básico que fiz em scriplet mesmo segue abaixo para quem precisar:
[code]import="java.util.regex.*"
<%
Pattern p = Pattern.compile("brasÍlia*",11111);
Matcher m = p.matcher("Visitou Brasília o primeiro ministro… brasília tabém.");
String strMEMateria = m.replaceAll("<font color=red><b>Brasília</b></font>");
%>
<%=strMEMateria%>
[/code]
[quote=“viecili”]Use expressão regular para fazer isso!
String mod = "CaSA e Asa".replaceAll("(A|a)(S|s)(A|a)","---");
isso faz com que qualquer ocorrencia de ‘asa’ (case-insensitive) seja substituida por ‘—’[/quote]
Olá, não precisa criar a expressão com as letras maiusculas e minusculas. Basta fazer assim:
Pattern p = Pattern.compile("asa", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("minha casa fica longe da sua CaSa");
String nova = m.replaceAll("---");
A primeira vista pode parecer mais complicado, mas é bem mais sensato quando vc tem uma expressão regular mais complicada.
valeuz…