是否可以使用正则表达式来消除单引号之间的单引号

本文关键字:单引号 之间 可以使 正则表达式 是否 | 更新日期: 2023-09-27 18:30:31

有一个

非常大的应用程序,它在执行查询时存在单引号发送到数据库的问题,到目前为止,使用 replace 函数将单引号替换为 2 个单引号,这解决了特定属性的问题,但我想做一个最小的更改,可以解决 DAL 层中的整个应用程序问题。

这是我的问题:

执行过程sp_procedurename("1"、"测试"、"测试人员代码"、"0")

上面的字符串应转换为

执行过程sp_procedurename("1"、"测试"、"测试人员代码"、"0")或执行过程sp_procedurename("1"、"测试"、"测试人员代码"、"0")

要么用 2 个单引号替换或消除它也可以。

是否可以使用正则表达式来消除单引号之间的单引号

这应该有效。

  string pattern = @"('w+)'('w+)";
  string replacement = "$1''$2";
  string input = "EXECUTE PROCEDURE sp_procedurename ('1', 'test', 'tester's code', '0')";
  string result = Regex.Replace(input, pattern, replacement);

如果您不想要单引号,请使用"$1$2"作为替换。