【问题标题】:Remove specific characters from a String in java从java中的String中删除特定字符
【发布时间】:2016-01-26 10:07:44
【问题描述】:

我有以下疑问:

select *from activo where id_oficina in(22,23) and id categoría = 'in(1,2)'

如何删除“=”字符和单引号?

我正在使用 kendo Ui,但我不知道可以手动删除什么。

【问题讨论】:

  • string.replaceAll("[=']", "")
  • 我不行,我的代码行是:filter.replaceAll("[=']","");
  • 您是否将新值分配回过滤器? filter = filter.replaceAll("[=']","");
  • 不行,只添加新字符串:String filter1 = filter.remplaceAll("[=']","");过滤器=过滤器1;

标签: java mysql


【解决方案1】:

对剑道一无所知,但您似乎试图在字段中输入“in(1,2)”,然后将其替换到查询语句中,而不是仅输入单个值。

首先,应该使用 JDBC 绑定变量,不知何故,通过字符串连接创建的任何 SQL 语句都存在安全漏洞。 https://www.owasp.org/index.php/Top_10_2013-A1-Injection

其次,您不能将 IN 的值绑定为单个值。现在,您总是可以有一个 IN 子句,有时您只会绑定一个值。之前已经解决了这个问题: How do I bind an ArrayList to a PreparedStatement in Oracle?

【讨论】:

    【解决方案2】:

    @Andy Turner 建议的replaceAll 有效:

    String string = "select *from activo where id_oficina in(22,23) and id categoría = 'in(1,2)'";
    string = string.replaceAll("[=']", "");
    System.out.println(string);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      相关资源
      最近更新 更多