java - 如何将 "'“转换为 "' '”

标签 java

我正在处理用户数据并将其存储到 oracle,其中可能包含 "'""''""'''"。 我尝试使用 replaceAll() 方法来转换数据,但它输出的结果不是我预期的结果。

尝试replaceAll()但不起作用

String sAddress1="";
sAddress1 = "ABC''S ROA'''D";

sAddress1 = sAddress1.replaceAll("'","''");

我期望 sAddress1 的输出为:

"ABC''''S ROA''''''D"

但实际输出是:

"ABC''S ROA''''D"

最佳答案

您的代码工作正常。问题在于 Oracle DB 中的持久性。

你以什么方式将它存储到数据库中?您使用 native SQL 吗?您使用 JPA/Hibernate 吗?

您可能正在使用 native SQL,因为 JPA/Hibernate 选项应该为您处理引用。

查看 Oracle 文档中的文本文字部分 https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#sthref344

或者查看有关 Oracle DB 转义单引号的其他答案 PL/SQL, how to escape single quote in a string? Escaping single quote in PLSQL

关于java - 如何将 "'“转换为 "' '”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57354859/

相关文章:

java - 关于 Akka 和类型安全的一般问题

java - AndEngine Sprite 阴影

java - 在 react 器中流动多个对象的有效/正确方法是什么

Java 网络 - 连接两台计算机

c# - 编程 float 运动

java - 如何对不同的服务进行分组来执行基本逻辑?

java - 如何将系统属性传递给从 HTML 启动的 Java 小程序

java - 如何根据屏幕尺寸启动 Activity ?

java - 在 Java 中解码 Base64 字符串

java - 您如何模拟 JavaFX 工具包初始化?