Переделать строку в номер телефона - C#
Формулировка задачи:
Мне нужно выводить номер телефона из бд в listview
в бд он хранится в формате
89535392503 после него может ничего не идти, идти запятая, и после нее еще один номер (вместо запятой может быть любой символ, но не цифра, может быть не один символ) то есть доступны такие варианты
89535392503,89535392504жена
89545494532
89563432344жена89534829305
так же могут быть 6ти значные номера
Но обязательно между номерами что-то будет, не содержащее цифр
А выводить их нужно в формате
8 953 539 33 44
либо 12 34 56
То есть из бд, я вычитываю номера, и переделав их в читабельный формат вывожу в listview
Как это осуществить?
Решение задачи: «Переделать строку в номер телефона»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GetNumberPhone { class Program { static void Main(string[] args) { List<string> listNumbers = new List<string>(); listNumbers.AddRange(new string[] { "89535392503,89535392504жена", "89545494532", "89563432344жена89534829305", "123456" }); var tmp = GetNumbers(listNumbers); foreach (var s in tmp) Console.WriteLine(s); Console.Read(); } private static List<string> GetNumbers(List<string> tmpNumbersPhone) { List<string> listNumbers = new List<string>(); foreach(var tmp in tmpNumbersPhone) { int index = 0; string phone = ""; foreach(var ch in tmp) { int tmpInt; if (Int32.TryParse(ch.ToString(), out tmpInt)) { phone += ch; if (phone.Equals(tmp) || index == tmp.Length - 1) { var t = InsertSpace(phone); if (t != string.Empty) listNumbers.Add(t); phone = string.Empty; } } else { var t = InsertSpace(phone); if (t != string.Empty) listNumbers.Add(t); phone = string.Empty; } index++; } } return listNumbers; } private static string InsertSpace(string phone) { switch (phone.Length) { case 6: var s = phone.Insert(2, " "); s = s.Insert(5, " "); return s; case 11: var ss = phone.Insert(1, " "); ss = ss.Insert(5, " "); ss = ss.Insert(9, " "); ss = ss.Insert(12, " "); return ss; default: return string.Empty; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д