C# 什么';是.NET中的正则表达式来删除特殊字符吗?
我正在寻找一个正则表达式,它可以从字符串(以及空格)中删除以下所有字符:C# 什么';是.NET中的正则表达式来删除特殊字符吗?,c#,.net,regex,C#,.net,Regex,我正在寻找一个正则表达式,它可以从字符串(以及空格)中删除以下所有字符: ~%&\;:" ' , < > ? # 我使用以下代码进行了尝试: var MyCleanString = Regex.Replace(InputString, @"[~%&\\;:,<>?#\s]", String.Empty); var MyCleanString=Regex.Replace(InputString,@“[~%&\\\:,?#\s]”,String.Empty); 它不工作。下
~%&\;:" ' , < > ? #
我使用以下代码进行了尝试:
var MyCleanString = Regex.Replace(InputString, @"[~%&\\;:,<>?#\s]", String.Empty);
var MyCleanString=Regex.Replace(InputString,@“[~%&\\\:,?#\s]”,String.Empty);
它不工作。下面的代码打印“abcdef”,所以我不知道你为什么会说它不工作
var InputString = "abc~%&\\;:,<>?# def";
var MyCleanString = Regex.Replace(InputString, @"[~%&\\;:,<>?#\s]", String.Empty);
Console.WriteLine(MyCleanString);
var InputString=“abc~%&\\\:,?#定义”;
var MyCleanString=Regex.Replace(InputString,@“[~%&\\\:,?#\s]”,String.Empty);
Console.WriteLine(MyCleanString);
试试这个:
public static string RemoveChar(string input)
{
Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
return r.Replace(input, String.Empty);
}
公共静态字符串RemoveChar(字符串输入)
{
Regex r=new Regex((?:[^a-z0-9]|)(?这似乎类似于:您是否尝试过\W通配符?但它不会使用空格。您需要\s。是否有特定字符未被替换?@KentZhou,它是否需要是Regex?String.Replace()或StringBuilder.Replace()速度会更快,在这种情况下,我不认为有充分的理由选择regex解决方案。
public static string RemoveChar(string input)
{
Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
return r.Replace(input, String.Empty);
}