8

文字列の先頭に文字が存在する場合、文字列の先頭だけ":"スペース文字に置き換えたい。は、文字を置き換えるのではなく削除します。また、開始位置にない場合でも、文字の出現箇所をすべて置き換えます。解決策は何ですか?正規表現を使用できますか? それとも他の方法ですか?望ましい結果は次のとおりです。" "":"TrimStart(":".ToCharArray())Replace(":", " ")

:abc -> abc
abc  -> abc
a:bc -> a:bc
abc: -> abc:
4

1 に答える 1

17

次の正規表現を使用できます。

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

しかし、これほど単純なものについては、従来の文字列メソッドを使用することをお勧めします。

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

注: あなたの場合、null または空の文字列のチェックは必要ないかもしれません。

于 2013-06-25T19:29:42.277 に答える