我正在处理用户数据,并将其存储到可能包含"'"
,"''"
或"'''"
的oracle中。
我尝试使用replaceAll()
方法来转换数据,但它不会输出我的预期结果。
尝试replaceAll()但不起作用
String sAddress1="";
sAddress1 = "ABC''S ROA'''D";
sAddress1 = sAddress1.replaceAll("'","''");
我希望sAddress1的输出为:
“ ABC”''S ROA“''''D”
但是实际输出是:
“ ABC''S ROA''''D”
答案 0 :(得分:0)
您的代码正常工作。问题是您的Oracle数据库中的持久性。
以哪种方式将其存储到数据库中?您是否在使用本机SQL?您正在使用JPA /休眠吗?
您可能正在使用本机SQL,因为JPA /休眠选项应该为您处理报价。
看看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