using System.Globalization;
public static void Main()
var ibge = Console.ReadLine();
Console.WriteLine(ParseEmail(ibge));
private static string ParseEmail(string email)
return StringSpliter(StringSpliter(StringSpliter(StringSpliter(StringSpliter(email.Replace(" ", string.Empty), ";"), ","), "/"), "-"), ":");
private static string StringSpliter(string str, string spliter)
var strs = str.Split(Convert.ToChar(spliter));
public static string Truncate(string values, int maxLength)
if (string.IsNullOrEmpty(values)) return values;
Console.WriteLine(values);
Console.WriteLine(values.Length);
Console.WriteLine(maxLength);
return values.Length <= maxLength ? values : values.Substring(0, maxLength);
private static decimal ConvertToDecimal(string stringDecimal)
if (string.IsNullOrEmpty(stringDecimal))
Console.WriteLine(stringDecimal);
var integerPart = Truncate(stringDecimal, 15);
Console.WriteLine(integerPart);
var decimalPart = stringDecimal.Substring(15, 2);
Console.WriteLine(decimalPart);
return decimal.Parse(integerPart + "." + decimalPart, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture);
public static string GetIbgeWithDigit(string ibgeCode)
var nao_validar = new string[] { "2201919", "2202251", "2201988", "2611533", "3117836", "3152131", "4305871", "5203939", "5203962" };
if (nao_validar.Contains(ibgeCode))
return nao_validar.First(x => x.StartsWith(ibgeCode));
foreach(var c in ibgeCode)
valor = Convert.ToInt32(peso[index]) * c;
var str = Convert.ToString(valor);
soma += Convert.ToInt32(str[0]) + Convert.ToInt32(str[1]);
var digito = Convert.ToString(10 - soma%10);
return ibgeCode + digito;