using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string[] parts = "university of washington".Split(' ');
for(int i = 0; i < parts.Length; i++)
{
Match match = Regex.Match(parts[i], @"w{3,}",RegexOptions.IgnoreCase);
if (match.Success)
{
// Check for empty string.
if (!string.IsNullOrEmpty(parts[i]))
{
parts[i] = char.ToUpper(parts[i][0]) + parts[i].Substring(1);
}
}
}
string result = string.Join(" ", parts);
Console.WriteLine(result);
}
}
// input – university of washington
// out put – University of Washington
Isso pode ser ajustado para qualquer comprimento necessário, alterando / adicionando um parâmetro de comprimento no Regex.
ps: Não usei LINQ porque ele teve que rodar em uma versão mais antiga do framework .Net.