正则表达式 替换不同类型的单引号
本文关键字:单引号 同类型 替换 正则表达式 | 更新日期: 2023-09-27 18:33:36
那些讨厌的单引号喜欢在MySQL中造成严重破坏,似乎有表兄弟!!我们有一个系统,用户可以从客户那里获得更新,要么粘贴电子邮件中的内容,要么从几乎任何地方复制和粘贴,每次我们迎合一个报价时,就会弹出另一个报价。以下是不同的: ’ ´ ' `
<--
由于我的正则表达式非常弱,我的开发人员同事说我应该使用以下命令删除它们:
return Regex.Replace(oldText, @"[’´'`""]", @"");
我不喜欢这样,它不专业,删除所有单引号。正如许多论坛所建议的那样,我想做的只是将单引号加倍。这是正确的吗?
return Regex.Replace(oldText, @"[’´'`""]", @"''");
这样做了,因为在他的 DAL 中,他用单引号构造他的插入语句:
sql.Append(",`to_complete_by`='" + obj.toCompleteBy + "'");
我可以通过将^^
更改为此来避免此错误吗?
sql.Append(",`to_complete_by`='"" + obj.toCompleteBy + "'"");
还是正则表达式替换首选方法?
如果您使用的是不支持预准备语句的旧版本的MySQL,则至少应该利用现代数据库接口可以模拟数据库本身不支持的功能这一事实。在您的情况下,与其说是潜在的性能提升,不如说是通过分离语句语法和值表示来增加安全性。