Replace numa String
Ola pessoal,
Bem é o seguinte...eu tenho uma string que tem algumas quebras de linha desnecessárias.
Oq eu preciso fazer é remover essas quebras...Se eu colar isso no EDITPLUS, habilitar a opção ´Regular Expression´ e mandar procurar ´\n´, ele acha as quebras....Mais isso pelo delphi??? Como q eu faço pra ele reconhecer a ´Regular Expression´????
Vlw Pela Atenção
Eduardo Buffara
Bem é o seguinte...eu tenho uma string que tem algumas quebras de linha desnecessárias.
Oq eu preciso fazer é remover essas quebras...Se eu colar isso no EDITPLUS, habilitar a opção ´Regular Expression´ e mandar procurar ´\n´, ele acha as quebras....Mais isso pelo delphi??? Como q eu faço pra ele reconhecer a ´Regular Expression´????
Vlw Pela Atenção
Eduardo Buffara
Eduardobuffara
Curtidas 0
Respostas
Massuda
16/01/2006
Você pode fazer isso sem usar expressões regulares (que não tem em Delphi/Win32)... use StringReplace da unti SysUtils; por exemplo...
var S: string; ... S := ´Delphi 2005´; S := StringReplace(S, ´2005´, ´2006´, [rfReplaceAll]); // S = ´Delphi 2006´;
GOSTEI 0
Michael
16/01/2006
Olá!
Não é necessário usar expressões regulares para fazer o que vc quer. O Delphi provê a função [b:95a7e7f330]StringReplace[/b:95a7e7f330], que substitui strings dentro de uma outra. Basta fazer isso:
Use sempre a constante global [b:95a7e7f330]sLineBreak [/b:95a7e7f330]quando precisar fazer referência a uma quebra de linha, pois ela é ´sensível´ ao sistema operacional onde a aplicação é compilada. Então no Linux, por exemplo, seu valor não será o mesmo do Windows, e vc não vai precisar se preocupar em adaptar seu software.
Se mesmo assim quiser usar expressões regulares, existe um ótimo componente chamado [url=http://regexpstudio.com/TRegExpr/TRegExpr.html]TRegExpr[/url]. Porém, o site parece ter saído do ar em 1 de janeiro deste ano. :-(
[]´s
Não é necessário usar expressões regulares para fazer o que vc quer. O Delphi provê a função [b:95a7e7f330]StringReplace[/b:95a7e7f330], que substitui strings dentro de uma outra. Basta fazer isso:
S := StringReplace(S, sLineBreak, ´´, [rfReplaceAll]);
Use sempre a constante global [b:95a7e7f330]sLineBreak [/b:95a7e7f330]quando precisar fazer referência a uma quebra de linha, pois ela é ´sensível´ ao sistema operacional onde a aplicação é compilada. Então no Linux, por exemplo, seu valor não será o mesmo do Windows, e vc não vai precisar se preocupar em adaptar seu software.
Se mesmo assim quiser usar expressões regulares, existe um ótimo componente chamado [url=http://regexpstudio.com/TRegExpr/TRegExpr.html]TRegExpr[/url]. Porém, o site parece ter saído do ar em 1 de janeiro deste ano. :-(
[]´s
GOSTEI 0
Michael
16/01/2006
Ops, foi mais rápido que eu, hein [b:df9c2ee522]Massuda[/b:df9c2ee522]... :lol:
[]´s
[]´s
GOSTEI 0
Eduardobuffara
16/01/2006
Ok Massuda,
Mais dae oq e mando ele procurar??? #13??? \n ???? Preciso q ele ache a maldita quebra de linha...e subistitua por nd....
Flw
Eduardo Buffara
Mais dae oq e mando ele procurar??? #13??? \n ???? Preciso q ele ache a maldita quebra de linha...e subistitua por nd....
Flw
Eduardo Buffara
GOSTEI 0
Eduardobuffara
16/01/2006
Nem tinha visto o seu comentario Michel....
Vlw vou testar!!!
Vlw vou testar!!!
GOSTEI 0
Michael
16/01/2006
Ok. Apenas troque Michel por [b:936338aab0]Michael[/b:936338aab0]. ;-)
[]´s
[]´s
GOSTEI 0
Massuda
16/01/2006
Porém, o site parece ter saído do ar em 1 de janeiro deste ano. :-(
Só para registrar, hoje, 20/1, o site voltou ao ar.GOSTEI 0