@Anton_repr

Как записать этот метод с помощью регулярных выражений?

У меня есть строка, состоящая из рандомных символов (Допустим, 10102012010201). Мне нужно удалить каждый 2ой символ в строке.
Я сделал так:
string Replace()
        {
            //удаление каждого 2ого символа в строке
            string str = textBox1.Text;
            string result = "";
            for (int i = 0; i < str.Length; i += 2)
            {
                result += str[i];

            }
            return result;
        }

Все работает, но я хочу попробовать переписать, используя регулярные выражения (Метод Replace). Как заменять каждый 2ой символ?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
bitniks
@bitniks
Go/PHP/Symfony developer
string Replace()
{
    return Regex.Replace(textBox1.Text, @"(.)(.)", "$1");
}

https://rextester.com/RVOD60813
Ответ написан
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
пользы ни какой, кроме как упражнения. по крайней мере в таком примере точно

регулярные выражения (если хорошо уметь их составлять) позволяют избавиться от написания рутинного кода. иногда объемного, и это может быть здорово. но на этом достоинства заканчиваются. а главный недостаток - весьма низкая производительность

в вашем коде, если использовать StringBuilder, можно достичь еще большей производительности

string useSb(string str)
        {
            var sb = new StringBuilder();
            for (int i = 0; i < str.Length; i += 2)
                sb.Append(str[i]);
            return sb.ToString();
        }


справедливости ради - все эти варианты, будут существенно отличаться по времени выполнения, только на больших объемах данных
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы