“(” 和“)” 在 C# 中替换

本文关键字:替换 | 更新日期: 2023-09-27 18:35:12

所以我正在尝试从与表中的SQL列相关的用户输入中替换下面的字符。

例:用户创建一个名为 My(first)try 的字段。在SQL中,这被称为Myfirsttry。

我目前正在编写代码以用我们的替换用户输入,但我被卡住了。

到目前为止,我有这个。

  itemreplace = itemreplace.Replace("(", "");

然而,这并不能解决问题。想法、评论、建议?

“(” 和“)” 在 C# 中替换

我觉得现实世界的情况更复杂,你并没有指出这一点,但是为了处理你的示例文本My(first)try你可以链接Replace语句:

itemreplace = itemreplace.Replace("(", "").Replace(")", "");

但是,似乎现实世界的情况更像是利用这样的正则表达式:

^[a-zA-Z0-9_@#][a-zA-Z0-9@$#_]*$

这是一个正则表达式 101 可以证明这一点。

然后使用它可能如下所示:

var valid = Regex.IsMatch("My(first)try", pattern);

我确实参考了这篇文章,T-SQL 列名中允许使用哪些特殊字符?,以确定列名允许的字符。

第一个选项:

String itemreplace = new String("My(first)try");
String charsToRemove = new String[] {"(", ")"};
foreach (char c in charsToRemove)
{
    itemreplace = itemreplace.Replace(c, string.Empty);
}

第二种选择:

itemreplace = itemreplace.Replace("(", string.Empty).Replace(")", string.Empty);