Olá pessoal, estou quebrando a cabeça com uma expressão regular, mas não estou conseguindo resolver.
Tenho a seguinte string: @A1Teste de / string~’ @B1 Teste
Eu preciso retirar tudo que começa com @A1, então o final seria @B1 Teste
Eu tentei fazer da seguinte forma: string.replaceAll("@A[0-9][\w|\s]*", “”)
O problema dessa instrução é que não aceita /, ou ~. e para colocar todos os caracteres ficaria meio inviavel, pois são varios criterios. Não é possivel fazer string.replaceAll("@A[0-9].*@", “”), pq o final ou seja a ultima @ não iria sair.
Alguem tem alguma sugestão de como posso resolver isso com regex.
Olá pessoal, estou quebrando a cabeça com uma expressão regular, mas não estou conseguindo resolver.
Tenho a seguinte string: @A1Teste de / string~’ @B1 Teste
Eu preciso retirar tudo que começa com @A1, então o final seria @B1 Teste
Eu tentei fazer da seguinte forma: string.replaceAll("@A[0-9][\w|\s]*", “”)
O problema dessa instrução é que não aceita /, ou ~. e para colocar todos os caracteres ficaria meio inviavel, pois são varios criterios. Não é possivel fazer string.replaceAll("@A[0-9].*@", “”), pq o final ou seja a ultima @ não iria sair.
Alguem tem alguma sugestão de como posso resolver isso com regex.
Desculpa,
nao entendi direito. Vc quer tirar tudo que esteja entre @A1 e @B1?
maniacs
Você parece saber usar ER mais eu sempre aconselho (eu mesmo olho) quando esta com duvida de como seria melhor forma
de usar a ER ler o Guia-ER
sempre ajuda para simplificar as ER
rodrigo_lm
Desculpa,
nao entendi direito. Vc quer tirar tudo que esteja entre @A1 e @B1?
Na verdade o @A1 é o delimitador da minha string. eu vou ter uma string grande tipo @A1 TESTE @A2 TESTE @A3 TESTE @B1 TESTE @B2 TESTE @C1 TESTE @D1 TESTE e por ai vai… E eu preciso arrancar tudo que comece, por exemplo, com @A, ou em outro caso, com @B, pq cada @LETRA representa um bloco de informação.
O problema é que não estou conseguindo retirar esses blocos quando aparece algum caracter especial no meio da string ( / , - , ~ , etc).
maniacs, obrigado pelo site, vou dar uma olhada, mas creio que estou bobeando na logica da ER.
Obrigado…
Guilherme_Gomes
Não sou muito bom em REGEX avançado, mas tenta isso:
replaceAll("@A[0-9][^@]*","");
Não sei se é isso que voce precisa, ou simplesmente:
replaceAll("@[A-Z][0-9]","");
rodrigo_lm
Muito obrigado Guilherme Gomes, era exatamente isso que eu precisava.
Realmente era um erro de logica, eu estava tentando permitir o q eu queria, ao inves de restringir o que eu não queria.