2017-09-08 24 views
-1

考慮更換輸入字符串「測試,,測試,,,測試,測試」正則表達式來刪除多個連續的逗號,並用一個逗號

,並使用下面的C#代碼片段我本來期望重複的逗號將被替換被一個逗號和...

結果 「測試,測試,測試,測試」

private static string TruncateCommas(string input) 
{ 
    return Regex.Replace(input, @",+", ","); 
} 

代碼從這個答案捏... C# replace all occurrences of a character with just a character

但我所看到的是「Test ,, test ,,, test,test」作爲這個函數的輸出。

我需要在正則表達式中跳過逗號嗎?或者應該這個正則表達式工作。

+4

你的代碼按預期工作 –

+5

野生猜想:你不看的返回值從那個方法。 – Joey

+2

爲什麼不直接使用模式'@「,{2,}」':*兩個或更多*逗號... –

回答

2

我需要在正則表達式中跳過逗號嗎?

還是應該這個表達式來工作。

是的。

請構建您的測試方式如下:

void Main() 
{ 
    string s = "Test,,test,,,test,test"; 

    string result = TruncateCommas(s); 

    Console.WriteLine(result); 
} 

輸出

Test,test,test,test

+1

Thankyou讓我正確地思考這個問題。這確實是投入。 string.Format(「{0},{1},{2},{3},{4},{5},{6}」,...)。我輸入的逗號之間有一個空格! – Nattrass

+0

@Nattrass歡迎您,很高興聽到您解決了您的問題。福 –