.NET String.Replace

2 .net c# string replace

我好恼火.通常我喜欢替换C#中的替换,但是它是否有C++样式替换,它一次只替换一个字母或我指定的X量?

Jar*_*Par 5

没有在BCL中没有替换方法,它只会替换该字符的单个实例.两种主要的替换方法将取代所有出现.但是,编写一个替换单个字符的版本并不是非常困难.

public static string ReplaceSingle(this string source, char toReplace, char newChar) {
  var index = source.IndexOf(toReplace);
  if ( index < 0 ) {
    return source;
  }
  var builder = new StringBuilder();
  for( var i = 0; i < source.Length; i++ ) {
    if ( i == index ) {
      builder.Append(newChar);
    } else {
      builder.Append(source[i]);
    }
  }
  return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)