我正在創建一個將處理url的應用程序,此url將有多個段(此段的名稱可以有特殊字符),此過程將使用超過1000000網址。從URL中刪除字符,但使用正則表達式排除一個字
我不能用分開的方式替換每個段的特殊字符,因爲這會使過程變慢。我們的想法是加入的URL的所有段{ - }或{0}和過程在一個單一的call.The完整的URL我將取代{ - }用/
{-}Lake Havasu City{-}Kingman-area{-}Lake Ha/vasu City{-}North Pointe-by-Read Homes{-}hola{*e}s!fsd3$^gdfg%
我有這樣的規律表達嘗試獲得特殊字符,但排除特殊字
(?:(?<!")\{\-\}(?!"))|[^0-9a-zA-Z\s]
我得到的特殊字符與這部分[^ 0-9A-ZA-Z \ S],但我不能使表達式忽略{ - }
var url = @"{-}Lake Havasu City{-}Kingman-area{-}Lake Ha/vasu City{-}North Pointe-by-Read Homes{-}hola{*e}s!fsd3$^gdfg%";
var newUrl = RemoveSpecialCharacters(url).Replace("{-}","/")
public static string RemoveSpecialCharacters(string input)
{
Regex r = new Regex("(?:(?<!")\{0\}(?!"))|[^0-9a-zA-Z\s]", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
return r.Replace(input, " ");
}
而結果必須是:
{-}Lake Havasu City{-}Kingman area{-}Lake Ha vasu City{-}North Pointe by Read Homes{-}hola e s fsd3 gdfg
感謝
謝謝你的問題,一個非常好的! – 2015-04-03 19:53:45