Переделать строку в номер телефона - 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;
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы