首页 > 解决方案 > 将字符串中的 \" 替换为 " 以在 SQL 语句中使用

问题描述

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

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

问题似乎是 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

标签: javasqlreplaceoracle12c

解决方案


您没有使用replaceAll.

试试这个:

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

更新:

是的,使用replace而不是replaceAll

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

推荐阅读