将“ \”中的“ \”替换为“以在SQL语句中使用

时间:2019-02-19 07:48:38

标签: java sql replace oracle12c

因此,我目前正在研究一个小型生活助手,它将ARX文档(ARS世界中的迁移文档)转换为我可以在数据库上检查的SQL语句。

ARX是一个基本文档,其中包含表名称,列名称和新条目的值名称等信息。我正在尝试使用Java读取那些ARX,以便创建可以检查条目是否确实在ARS服务器上创建的SQL语句。

问题似乎是Java字符串语法(对于字符串等,")和SQL语法(对于字符串,')之间的差异。所以我正在努力用SQL替换那些Java字符。我也尝试为\"进行此操作,因为在Java中有效,但在SQL \"中只是一个普通字符串,没有特殊含义。

我的错误在哪里?有没有更简单的方法可以做到这一点?我不能成为世界上第一个尝试这样做的人。

String a = "123\\\"123\\\"123";
System.out.println(a);
a.replaceAll("\\\"", "\"");
System.out.println(a);

预期结果:

123\"123\"123
123"123"123

实际结果:

123\"123\"123
123\"123\"123

2 个答案:

答案 0 :(得分:0)

您没有使用replaceAll的结果。

尝试一下:

a = a.replaceAll("\\\"", "\"");

更新:

是的,使用replace代替replaceAll

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

答案 1 :(得分:0)

在您的情况下,您不应使用replaceAll方法。

此处提供以下代码供您参考。

 String a = "123\\\"123\\\"123";
 System.out.println(a);
 a = a.replace("\\", "");
 System.out.println(a);