从数据库导入的字符串有引号("),想再次使用String来查询数据库

时间:2016-11-02 17:28:55

标签: java sql regex double-quotes

所以我有一个脚本可以检索一段时间内产品上使用的项目列表。我们的数据库是“jerry-rigged'”,也就是说,我们没有将这些项目列为其代码,而是通过描述。我可以通过我们数据库中的另一个表来运行此描述以检索项目代码,但是我遇到了包含双引号的项目的问题,例如' 2" Self Tapping Screw',其中双引号导致我的查询出现问题。以下是我的问题专栏:

String description = resultSet.getString(1); //description = "2" Self Tapping Screw
String sql = "Select itemcode from database.table where description " 
    + "= \"" + description + "\";

如何用正则表达式字符替换这些双引号?我试过了

description = description.replace("\"","\\"");

但我不认为我做对了,因为它只会改变每一个'''到" \"。

1 个答案:

答案 0 :(得分:1)

使用PreparedStatement

{{1}}

这比单独试图逃避字符串要安全得多。