Вопрос по regexpr

У меня есть большое количество абзацев начинающихся с одинаковых заголовков.
К примеру

Gen\r\n
text
Gen\r\n
text
Gen\r\n
text
Gen\r\n
text

Я хочу сделать так чтобы остался только первый.

Gen\r\n
text
text
text
text

Что-то не могу понять как такое в регулярках сделать=(
  • Вопрос задан
  • 2466 просмотров
Пригласить эксперта
Ответы на вопрос 3
pratamishus
@pratamishus
так если они одинаковые, то регулярные выражения не нужны. Можно просто реплейсом. Например

$title='Gen\r\n';

$text='Gen\r\n
text
Gen\r\n
text
Gen\r\n
text
Gen\r\n
text';

echo $title.str_replace($title, '', $text);
Ответ написан
Удаляем каждую вторую строчку после первой:
Regex.Replace(text, "(?<=\r\n)(.+\r\n)(.+)", "$1")
Ответ написан
Комментировать
UseRifle
@UseRifle
В массив по абзацам текст заносим, пробегаем по нечетным элементам, если элемент равен предыдущему нечетному — удаляем. Затем опять массив в строку слепляем.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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