using static System.Console;
using System.Globalization;
using System.Text.RegularExpressions;
public static void Main() {
var str = " Alguma coisa outrA i i coIsA ";
var resultado = Espacar(RemoverTodosEspacos(Capitalizar(str, false, "pt-BR")));
private static string Capitalizar(string texto, bool acronimo, string cultura) {
if (string.IsNullOrWhiteSpace(texto) || string.IsNullOrWhiteSpace(cultura)) {
TextInfo info = new CultureInfo(cultura, false).TextInfo;
return info.ToTitleCase(texto);
return info.ToTitleCase(texto.ToLower());
private static string Espacar(string texto) {
if (string.IsNullOrWhiteSpace(texto)) {
return string.Concat(texto.Select((s, i) => " " + s.ToString())).TrimStart();
private static string RemoverTodosEspacos(string texto) {
if (string.IsNullOrWhiteSpace(texto)) {
return Regex.Replace(texto, @"\s+", "");