我需要一个正则表达式来查找以下场景中的(Anand& boy's)中的单引号,
'This has to be Anand's first task', 'A boy's friend works in France'
考虑我有很多字段要插入到DB中,就像我在上面的示例中所示。
我在其文本中有单引号的查询时出错。我需要找到它们并用''两个单引号替换它来解决这个问题。
你可以帮助我为此目的编写正则表达式吗?因为我对regEx没有太多了解。
答案 0 :(得分:2)
您应该首先考虑如何确保在输入中没有明显错误的引号。但是,如果你不能,你有一个战斗机会,找到没有逗号(或字符串结尾)的引号,并且前面没有逗号(或字符串的开头):
String resultString = subjectString.replaceAll("(?<!^|, ?)'(?!,|$)", "''");
答案 1 :(得分:1)
如果这是JDBC方案,请尝试使用Prepared Statements。这是一种更好的方法,然后修改原始数据,因为额外的好处可以保护您免受SQL注入攻击。
答案 2 :(得分:0)
String.split(",")
)String.trim()
)String.subsequence()
)String.replace()
)