我们如何在Java中替换现有字符串中的特定字符串?
例:
String param = "aa,bb,cc";
String str =
"select column_val from table_name where a = '?' and b = '?' and c = '?'";
Run Code Online (Sandbox Code Playgroud)
现在我想用它的位置替换params ...
String newStr =
"select column_val from table_name where a = 'aa' and b = 'bb' and c = 'cc'";
Run Code Online (Sandbox Code Playgroud)
我们应该怎么做?stringutil中是否存在任何现有方法,或者有任何方法可以执行此操作吗?
处理这个问题的正确方法是使用 PreparedStatement.它不仅可以替代你,还可以防范SQL注入攻击.
是的,我只是在这里演示选择查询,但它不是选择查询,它是简单的字符串
在这种情况下,有一种简单的方法:
String param = "aa,bb,cc";
String str = "select column_val from table_name where a = '?' and b = '?' and c = '?'";
String fmt = str.replaceAll("[?]", "%s");
String newStr = String.format(fmt, (Object[])param.split(","));
Run Code Online (Sandbox Code Playgroud)
确保您输入的模式没有任何杂散问号或百分比字符.