Preciso fazer um replace numa string que contém parênteses, conforme o código abaixo:
[code]public class Testes {
public static void main(String[] args) {
String stringOriginal = "abcdefghijk ABCD (W) FGHJKL :";
String novaString;
String sequencia = "ABCD (W) FGHJKL :";
String novaSequencia = "ABCD (W) FGHJKL :" + "\n" + "complemento";
System.out.println("stringOriginal=[" + stringOriginal + "]");
novaString = stringOriginal.replaceAll(sequencia, novaSequencia);
System.out.println("novaString =[" + novaString + "]");
}
}[/code]
Deveria resultar:
stringOriginal=[abcdefghijk ABCD (W) FGHJKL :]
novaString =[abcdefghijk ABCD (W) FGHJKL :
complemento]
Mas resulta:
stringOriginal=[abcdefghijk ABCD (W) FGHJKL :]
novaString =[abcdefghijk ABCD (W) FGHJKL :]
O sistema ignora a quebra de linha e o “complemento”.
Se eu troco ‘(W)’ por ‘-W-’, funciona. O resultado é:
stringOriginal=[abcdefghijk ABCD -W- FGHJKL :]
novaString =[abcdefghijk ABCD -W- FGHJKL :
complemento]
Então a causa do problemas são os parênteses.
Alguém sabe como faço para que o sistema entenda os parênteses como parte da string?