仅在字符串的开头替换字符

时间:2013-06-25 19:26:18

标签: c# .net regex string trim

如果":"字符出现在开头,我想仅在字符串的开头用空格" "字符替换字符":"TrimStart(":".ToCharArray())删除不替换它的角色。并且Replace(":", " ")替换了角色的所有出现,即使它们没有开始。解决办法是什么?可以使用正则表达式吗?还是其他任何方式?期望的结果是:

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

1 个答案:

答案 0 :(得分:11)

您可以使用此正则表达式:

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

但是对于这么简单的事情,我建议使用传统的字符串方法:

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

注意:在您的情况下,可能不需要检查空字符串或空字符串。