C# 查找字符串是否包含任何特殊字符,并使用string.empty c删除#

C# 查找字符串是否包含任何特殊字符,并使用string.empty c删除#,c#,regex,C#,Regex,我想知道字符串是否包含任何特殊字符,如!、@、#、$、%、^、&、*,(,),“,”,“,”,[,]如果它找到这些字符,我想删除这些特殊字符,并用string.empty替换它。我已经浏览了这个论坛上的一篇帖子,一位专家建议我做下面这行代码。但我想知道,在找到特殊字符后,如何删除相同的字符。我正在使用c#控制台应用程序 Regex RgxUrl = new Regex("[^a-z0-9]"); blnContainsSpecialCharacters = RgxUrl.IsMatch(st

我想知道字符串是否包含任何特殊字符,如!、@、#、$、%、^、&、*,(,),“,”,“,”,[,]如果它找到这些字符,我想删除这些特殊字符,并用string.empty替换它。我已经浏览了这个论坛上的一篇帖子,一位专家建议我做下面这行代码。但我想知道,在找到特殊字符后,如何删除相同的字符。我正在使用c#控制台应用程序

 Regex RgxUrl = new Regex("[^a-z0-9]");
 blnContainsSpecialCharacters = RgxUrl.IsMatch(stringToCheck);

您可以通过使用linq来实现:

string StringToCheck = ";#abc@()[]_123-~`";
string newstring = new String(stringToCheck.Where(x => Char.IsLetterOrDigit(x)).ToArray());
输出: abc123


请添加一些具有预期输出的示例……您想将输入限制为某些固定字符还是仅删除上述特殊字符?这取决于您所说的“特殊”字符的含义。非字母数字?非常感谢@Ehsan。我有另一个与此相关的问题。将为此启动新线程。请帮助我让我知道标记此答案链接的位置。我对此stackoverflow相当陌生。我通常使用社交msdn论坛发布我的查询。谢谢。@SaMolPPp单击我发布的答案左侧的勾号,将其标记为答案,当你得到问题的答案时,将该帖子标记为解决问题的答案
string StringToCheck = ";#abc@()[]_123-~`";
string newstring = new String(stringToCheck.Where(x => Char.IsLetterOrDigit(x)).ToArray());