terça-feira, 17 de maio de 2011

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!
>
> --
> 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.*
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
> Para upload/download de arquivos:
> http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
>
> --------
> 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
>
>


[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/

<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

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