不允许使用特殊字符

本文关键字:特殊字符 不允许 | 更新日期: 2023-09-27 17:54:50

更新:

我刚刚意识到,与其写每一个特殊的字符,不如不允许任何特殊的字符?

这里有一个我正在做的例子:http://cnn.com/news/latest.html&id=1,所以只有当&在开始或结束时才剥离。

下面的代码去掉了这些(+,(,),;,"(特殊字符,它可以很好地进行

 static String StripSpcialChar(String param)
        {
            String result = null;
            if (param != null)
            {                
                Regex re = new Regex("''&|''(|'')|''<|''>|'''"|'';|'n|'r|''`");
                result = re.Replace(param, "");
                result = result.Trim();
            }
            return result;
        }

但我的问题是,只有在&开始或结束时,我才能剥离它?

不允许使用特殊字符

"&this is a test&&&".Trim('&');

尝试

Regex re = new Regex("(^&)|(&$)|''(|'')|''<|''>|'''"|'';|'n|'r|''`");

已测试并正在工作。使用以下表达式:

Regex re = new Regex("''(|'')|''<|''>|'''"|'';|'n|'r|''`|^&|&$");

用法:

Console.WriteLine(StripSpcialChar("ali&")); // prints ali
Console.WriteLine(StripSpcialChar("&ali")); // prints ali
Console.WriteLine(StripSpcialChar("a&li")); // prints a&li

注释

如果您需要在单词的开头或结尾剥离,请尝试以下操作:

Regex re = new Regex("''(|'')|''<|''>|'''"|'';|'n|'r|''`|'b&|&'b");

这个怎么样:

string newString = string.Trim(oldString, '&');

Regex使用^表示"字符串的开始",$表示"字符串结束":
"^&|&$"
应该匹配以"与"开头或以"与(&(结尾的字符串