Pessoal, estou precisando fazer uma consulta dinâmica:
“INSERT INTO TABELA(coluna1,coluna2,coluna3) VALUES ({valor1},{valor2},{valor3})”
Essa String eu recebo do usuário e preciso substituir os valores {valor1} , {valor2} , {valor3} por exemplo
Minha dúvida é, como pego a partir dessa String fornecida, todas as ocorrências que seguem esse padrão { (A-Z | a-z | 0-9 | - | _)+ } ??
Ja tentou com Pattern e Matcher?String str = "INSERT INTO TABELA(coluna1,coluna2,coluna3) VALUES ({valor1},{valor2},{valor3})";
Pattern pattern = Pattern.compile("\\{(A-Za-z0-9_-)+\\}");
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
System.out.println(matcher.group());
}
Estude expressões regulares e o método replace da classe String.
pmlm
#4
Porque não usar simplesmente PreparedStatement?
To tentando aqui mas ta dando PatternSyntaxException, vou verificar
tentando o que? a minha sugestão?
se for é porque você tem que escapar os caracteres { e }, eles tem um significado especial em expressões regulares.
Mas a sugestão do pmlm pareceu muito boa, ja pensou em usar PreparedStatement para isso? pode ser válido.