[英]How to remove special characters with regex instead of Replace string
我目前的方法:
var q = new StringBuilder(query);
return q.Replace("'", " ")
.Replace("\"", " ")
.Replace(":", "")
.Replace("#", " ")
.Replace("/", " ")
.Replace("\\", " ")
.Replace(",", " ")
.Replace("&", " ")
.Replace("?", " ")
.Replace("%", " ")
.Replace(".", " ")
.Replace("quot;", " ")
.Replace("-", " ")
.Replace("*", " ")
.ToString().Trim();
我該如何使用正則表達式來獲得更好的性能?
編輯:抱歉,我要用空格“”替換所有特殊字符。
您可以使用此:
string q = Regex.Replace(query, @"[:#/\\]", ".");
q = Regex.Replace(q, @""|['"",&?%\.*-]", " ");
仔細檢查您的操作后,您的代碼會將幾個字符轉換為.
, 然后翻譯全部.
進入空間。 因此,您可以這樣做:
string q = Regex.Replace(query, @""|['"",&?%\.*:#/\\-]", " ").Trim();
不過,我不太確定您要在這里做什么。 我覺得您真正要尋找的是:
string q = Regex.Replace(query, @"[^\w\s]", "");
存在"
在那里使我陷入困境,這就是為什么我不確定你在做什么的原因。 如果要擺脫HTML實體,可以先通過HttpUtility.HtmlDecode(string)
運行query
,然后再應用正則表達式。
嘗試這個。
string pattern = @"[^a-zA-Z0-9]";
string test = Regex.Replace("abc*&34567*opdldld(aododod';", pattern, " ");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.