正規表現クラスでの置換

お恥ずかしい話ですが、RegexクラスのReplaceメソッドがこんなに便利なんて知りませんでした。
正規表現で指定しなくてもMatchした最小単位で置換処理が行なわれるのですね。

//hello world を Hello Worldに置換する
class Program
{
 static void Main(string[] args)
  {
    var str = "hello world";
    var regex = new Regex(@"(\W*)(\w+)");
    Console.WriteLine(regex.Replace(str, (MatchEvaluator)delegate(Match m){
      return m.Groups[1].Value + CultureInfo.CurrentCulture.TextInfo.ToTitleCase(m.Groups[2].Value);})
    );
  }
}