[英]Replace all Special Characters in a string IN C#
我想在字符串中找到所有特殊字符並替換為連字符( - )
我使用以下代碼
string content = "foo,bar,(regular expression replace) 123";
string pattern = "[^a-zA-Z]"; //regex pattern
string result = System.Text.RegularExpressions.Regex.Replace(content,pattern, "-");
富巴 - 正則表達式替換----
我在輸出中得到多次連字符(---)。
我想得到一些像這樣的東西
FOO-BAR-正則表達式替換
我如何實現這一目標
任何幫助,將不勝感激
謝謝Deepu
為什么不這樣做:
public static string ToSlug(this string text)
{
StringBuilder sb = new StringBuilder();
var lastWasInvalid = false;
foreach (char c in text)
{
if (char.IsLetterOrDigit(c))
{
sb.Append(c);
lastWasInvalid = false;
}
else
{
if (!lastWasInvalid)
sb.Append("-");
lastWasInvalid = true;
}
}
return sb.ToString().ToLowerInvariant().Trim();
}
嘗試模式: "[^a-zA-Z]+"
- 即替換一個或多個非alpha(但你可能允許使用數字?)。
這不行嗎?
string pattern = "[^a-zA-Z]+";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.