java - 将字符串中的 \" 替换为 " 以在 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
解决方案
您没有使用replaceAll
.
试试这个:
a = a.replaceAll("\\\"", "\"");
更新:
是的,使用replace
而不是replaceAll
:
a = a.replace("\\\"", "\"");
推荐阅读
- javascript - MySQL 会在事务回滚时自动释放连接吗?
- dataframe - 使用带有 Pandas 的 Lambda 在缺少 geopy Nominatim 字典键(引发 KeyError)的列中写入“”值
- azure-devops - 在 Yaml 管道中为复制任务添加 If 条件
- firebase - Facebook 登录返回通用个人资料图片 URL
- ios - 如何使用 Notificatoin Extension Service 将通知数据保存到 Firestore
- c# - RabbitMQ Consumer 导致过多的消费者标签 - C#
- javascript - 当节点具有坐标时,Vis.js 节点布局未按预期运行
- adobe-illustrator - Adobe illustrator 将文件名链接到图层名称脚本
- javascript - 如何将自定义方法重新加载到反序列化的 FabricJS 对象?
- visual-studio-code - 包装一些降价块