Replace - Case insensitive

7 respostas
R

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]

7 Respostas

V

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 ‘—’

R

onde eu posso aprender a programar (tutorial, manual, etc) esta “expressão regular”

V

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’… :wink:

R

É realmente muito interessante.

Vou dar uma pesquisada melhor, pois o replace case insensitive eu já consegui fazer.

Obrigado.

R

um exemplo básico que fiz em scriplet mesmo segue abaixo para quem precisar:

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%>
J

“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 ‘—’


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…

H

O material desse guia eh muito bom http://aurelio.net/er/

Criado 13 de janeiro de 2005
Ultima resposta 4 de fev. de 2005
Respostas 7
Participantes 4