2013-06-25 92 views
2

如果":"字符出現在開始位置,我想用字符替換字符" "字符只在字符串的開頭。 TrimStart(":".ToCharArray())刪除字符不會取代它。並且Replace(":", " ")將替換所有出現的角色,即使他們不在開始。解決辦法是什麼?可以使用Regex嗎?或者其他方式?期望的結果是:只在字符串的開始處替換字符

:abc -> abc 
abc -> abc 
a:bc -> a:bc 
abc: -> abc: 
+3

這個正則表達式只會在開頭匹配'^:' –

+0

作爲一個方面說明,你可以使用'TrimStart(':')'來做和你一樣的工作。 C#中的'param'關鍵字意味着它會自動將您的參數列表轉換爲一個數組。 –

回答

7

您可以使用正則表達式:

var output = Regex.Replace(input, "^:", " "); 

不過的東西這個簡單,我建議你使用傳統的字符串方法:

var output = 
    (!string.IsNullOrEmpty(input) && input[0] == ':') 
    ? " " + input.Substring(1) : input; 

注意:你的情況可能不需要檢查空字符串或空字符串。