更新
我刚刚意识到,如果不允许任何特殊字符而不是写每一个特殊字符呢?
这是我正在做的一个例子: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;
}
但我的问题是,如果他们在开头或结尾都有&
,我怎么才能剥离它?
答案 0 :(得分:1)
"&this is a test&&&".Trim('&');
答案 1 :(得分:1)
尝试
Regex re = new Regex("(^&)|(&$)|\\(|\\)|\\<|\\>|\\\"|\\;|\n|\r|\\`");
答案 2 :(得分:0)
经过测试并正常工作。使用以下表达式:
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");
答案 3 :(得分:0)
这个怎么样:
string newString = string.Trim(oldString, '&');
答案 4 :(得分:0)
正则表达式使用^
表示“字符串的开头”,使用$
表示“字符串结尾”:
"^&|&$"
应匹配字符串开头或结尾的&符号(&amp;)