这是我的工作代码:
string Input;
string Output;
Input = data;
Output = Input.Replace(@")", "");
Run Code Online (Sandbox Code Playgroud)
在这里,我只是从我的字符串中删除括号")",如果它存在的话.现在我如何扩展像")"这样的违规字符列表,以包括"("和" - "?
我意识到我可以写两个类似输出的语句,但我想知道是否有更好的方法......
Ben*_*igt 12
LINQ解决方案:
Output = new String(Input.Except("()-").ToArray());
Run Code Online (Sandbox Code Playgroud)
小智 10
如果你只是做了几次替换(我看到你只做了三次),最简单的方法就是将三个Replace调用链接到一个语句中而不用担心Regex或StringBuilders:
Output = Input.Replace("(", "").Replace(")", "").Replace("-", "");
Run Code Online (Sandbox Code Playgroud)
...这比每次将结果存储在输出中要好一些.
Output = Regex.Replace(Input, "[()-]", "");
Run Code Online (Sandbox Code Playgroud)
该[]表达式中的字符来创建字符类.它与这些字符不直接匹配.