@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ой символ?
  • Вопрос задан
  • 102 просмотра
Решения вопроса 2
bitniks
@bitniks
PHP/Symfony developer
string Replace()
{
    return Regex.Replace(textBox1.Text, @"(.)(.)", "$1");
}

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

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

в вашем коде, если использовать 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();
        }


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

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

Войти через центр авторизации
Похожие вопросы