Найти числа в строке и перевести их в двоичную систему счисления

есть код, который переводит числа из десятичной системы в двоичную, нужно сделать тоже самое, используя механизм регулярных выражений. Помогите пожалуйста. C#

using System;
namespace global
{
    class Program
    {   //method separate line at words and separate words at volves and
        //other letters, then fusion 2 subwords in word
        public String ChangeLine(String str)
        {
            //cut a line by words
            String[] array = str.Split(' ');//раздедение строки на массив подстрок
            String result = "";//инициализация возвращаемого значения
            for (int i = 0; i < array.GetLength(0); i++){//проход по подстрокам
                try{//если можео перевести в число , то перевод в 2
                    String res = "";
                    int b = Convert.ToInt32(array[i]);
                    while (true){//перевод из 10 в 2
                        res += b % 2;
                        b = b / 2;
                        if (b == 0)
                            break;}
                    String res_rev = "";//реверс значения
                    for (int j = res.Length - 1; j >= 0; j--){
                        res_rev += res[j];}
                    result += res_rev + ' ';}
                catch (Exception ex){//иначе просто добавляем в возвращ
                    result += array[i] + ' ';}
            }
            return result;//return final line
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Start program:");
            String lineIn = Console.ReadLine();
            Program lineOut = new Program();
            Console.WriteLine(lineOut.ChangeLine(lineIn));
            String linev = Console.ReadLine();
        }
    }
}

Ответы (1 шт):

Автор решения: aepot
static void Main(string[] args)
{
    string input = Console.ReadLine();
    Console.WriteLine(ChangeLine(input));
}

private static string ChangeLine(string input)
{
    return Regex.Replace(input, @"\b\d+\b", m => Convert.ToString(int.Parse(m.Value), 2));
}

Вывод в консоль

hello 123 world 256 ! 234
hello 1111011 world 100000000 ! 11101010
123hjh123 123 jkhjh213 kj123 123 hjh213
123hjh123 1111011 jkhjh213 kj123 1111011 hjh213
→ Ссылка