terça-feira, 17 de maio de 2011

RES: [java-br] Expressoes Regulares

·

 

Belezs Luiz,

Mas mesmo assim dá uma olhada no String.format(), ou se preferir pode partir
para a classe Formatter que é mais completa. Vai ficar beeem mais fácil...

Falouzs!!

Claudio Weiler


-----Mensagem original-----
De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em nome
de Luiz Henrique Santana
Enviada em: terça-feira, 17 de maio de 2011 14:27
Para: java-br@yahoogrupos.com.br
Assunto: Re: [java-br] Expressoes Regulares

Hehehe...

acho q expliquei mal, msm...

Mas consegui resolver.

Ficou assim:

Só fiz uma mudanca na segunda linha de replace, adicionando mais parametros.
Pq eu tinha colocado 2 como exemplo, pq a despesa tem 11 (!) parametros.
Ai ficou assim:

*
String expressao = "((ValorReceitaPrevista(%98598) +
ValorReceitaInicial(%9859%)) - (ValorDespesaPrevista(878%)) / 12) *
(ValorComponente(777) / ValorDespesa(1,2,3,4,5,6,7,8,9,10,11))";
expressao = expressao
*
*
.replaceAll(
**

"(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\
,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)",
**

"(\"$1\",\"$3\",\"$5\",\"$7\",\"$9\",\"$11\",\"$13\",\"$15\",\"$17\",\"$19\"
,\"$21\")")
**
expressao = expressao.replaceAll("(\\(\\d+\\))", "\\(\"$1\"\\)")
**
expressao = expressao.replaceAll("(\\(\\%\\d+\\))", "\\(\"$1\"\\)")
**
expressao = expressao.replaceAll("(\\(\\%\\d+\\%\\))",
"\\(\"$1\"\\)")
**
expressao = expressao.replaceAll("(\\(\\d+\\%\\))", "\\(\"$1\"\\)")
**
expressao = expressao.replaceAll("\\%\"", "\"\\%")
**
expressao = expressao.replaceAll("\"\\(", "\"")
**
expressao = expressao.replaceAll("\\)\"", "\"");
*
String expressao = "((ValorReceitaPrevista(%98598) +
ValorReceitaInicial(%9859%)) - (ValorDespesaPrevista(878%)) / 12) *
(ValorComponente(777) / ValorDespesa(1,2,3,4,5,6,7,8,9,10,11))"; expressao =
expressao .replaceAll(
"(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\
,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)(\\,)(\\d+)",
"(\"$1\",\"$3\",\"$5\",\"$7\",\"$9\",\"$11\",\"$13\",\"$15\",\"$17\",\"$19\"
,\"$21\")");
expressao = expressao.replaceAll("(\\(\\d+\\))", "\\(\"$1\"\\)"); expressao
= expressao.replaceAll("(\\(\\%\\d+\\))", "\\(\"$1\"\\)"); expressao =
expressao.replaceAll("(\\(\\%\\d+\\%\\))", "\\(\"$1\"\\)"); expressao =
expressao.replaceAll("(\\(\\d+\\%\\))", "\\(\"$1\"\\)"); expressao =
expressao.replaceAll("\\%\"", "\"\\%"); expressao =
expressao.replaceAll("\"\\(", "\""); expressao =
expressao.replaceAll("\\)\"", "\"");

O resultado foi:
*
<http://www.pdcase.com:8096/forum/posts/list/0/280.page#>
((ValorReceitaPrevista("%98598") + ValorReceitaInicial("%9859%")) -
(ValorDespesaPrevista("878%")) / 12) * (ValorComponente("777") /
ValorDespesa(("1","2","3","4","5","6","7","8","9","10","11")))
((ValorReceitaPrevista("%98598") + ValorReceitaInicial("%9859%")) -
(ValorDespesaPrevista("878%")) / 12) * (ValorComponente("777") /
ValorDespesa(("1","2","3","4","5","6","7","8","9","10","11"))) *

Vlw msm!!!

--
Att,

Luiz Henrique Santana
Analista de Sistemas
# msn => luizhenriquesantana@msn.com
# jabber/gtalk => luizhenriquesantana@gmail.com
# skype => rikg12
# twitter => www.twitter.com/luiz_h_santana
# blog => aqueleolhar.wordpress.com
::31 9151-5816::

*P** **Antes de imprimir** pense em seu compromisso com o Meio Ambiente.*

2011/5/17 Claudio Emanuel Weiler <cweiler@tre-pr.gov.br>

>
>
> Luiz,
>
> Rapaiz, intendi lhufas... :)
>
> Dá uma olhada no método String.format(), vai ser bem mais fácil.
>
> Ex. retornoFormatado = String.format("((v1(%d) + v2(%d))", int1, int2);
>
> Falouzs!!
>
>
> -----Mensagem original-----
> De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em nome
> de Luiz Henrique Santana
> Enviada em: terça-feira, 17 de maio de 2011 13:30
> Para: java-br@yahoogrupos.com.br
> Assunto: [java-br] Expressoes Regulares
>
>
> Ola, Sres... bom dia!
>
> Tenho uma string informada pelo usuario que contem parametros. Preciso
> transformar esses parametros em string e faço isso colocando "" (aspas) pq
> esses parametros podem conter % (percent).
>
> Assim sendo, fiz aki meus replace e ta funcionando perfeitamente.:
>
> * expressao = "((ValorReceitaPrevista(%98598) +
> ValorReceitaInicial(%9859%)) - (ValorDespesaPrevista(878%)) / 12) *
> ValorComponente(777)";
> expressao = expressao.replaceAll("(\\(\\d+\\))", "\\(\"$1\"\\)");
> expressao = expressao.replaceAll("(\\(\\%\\d+\\))", "\\(\"$1\"\\)");
> expressao = expressao.replaceAll("(\\(\\%\\d+\\%\\))",
> "\\(\"$1\"\\)");
> expressao = expressao.replaceAll("(\\(\\d+\\%\\))", "\\(\"$1\"\\)");
> expressao = expressao.replaceAll("\\%\"", "\"\\%");
> expressao = expressao.replaceAll("\"\\(", "\"");
> expressao = expressao.replaceAll("\\)\"", "\"");*
>
> Só que algumas dessas funcoes da primeira linha podem conter parametros
> compostos separados por virgula, como abaixo:
>
> * expressao = "((ValorReceitaPrevista(%98598) +
> ValorReceitaInicial(%9859%)) - (ValorDespesaPrevista(878%)) / 12) *
> (ValorComponente(777) / ValorDespesa(89,78))";
> *
> Ai nesse caso falta um replace, neh... pra tratar dessa virgula.
>
> Se alguem puder ajudar... desde ja agradeco.
>
> Abs!
>

--------
A Visão do TRE-PR é ser reconhecido como instituição pública de excelência, indispensável para o aperfeiçoamento da democracia.
Todos os eleitores de Curitiba deverão fazer seu recadastramento biométrico. Maiores informações em nosso site: www.tre-pr.jus.br

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog