簡體   English   中英

替換字符串中的所有特殊字符IN C#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM