2

У меня есть текст в этом формате на одной строке:

1В ЯХВЕ сказал: «Давайте сделаем человека по нашему образу, по нашему подобию, и Бог сотворил человека по своему образу». 2v И Бог образовал человека с земли, и он вдохнул в ноздри дыхание жизни, и человек стал живой душой, наделенной речью. 3v И сказал Господь: нехорошо человеку быть одному; Я сделаю ему помощь. 4v И Господь послал глубокий сон на Адама, и он спал, и он взял одно ребро его, и он наложил на него мясо, и сформировал его, и принес его Адаму, и Адам проснулся от сна и вот женщина стояла перед ним. 5v И он сказал: это кость от костей моих, и она будет называться женщиной, потому что это взято от мужчины; и Адам назвал ее по имени Ева, потому что она была матерью всего живого.

Я хочу выглядеть так:

1В ЯХВЕ сказал: «Давайте сделаем человека по нашему образу, по нашему подобию, и Бог сотворил человека по своему образу».
2v И Бог образовал человека с земли, и он вдохнул в ноздри дыхание жизни, и человек стал живой душой, наделенной речью.
3v И сказал Господь: нехорошо человеку быть одному; Я сделаю ему помощь.
4v И Господь послал глубокий сон на Адама, и он спал, и он взял одно ребро его, и он наложил на него мясо, и сформировал его, и принес его Адаму, и Адам проснулся от сна и вот женщина стояла перед ним.
5v И он сказал: это кость от костей моих, и она будет называться женщиной, потому что это взято от мужчины; и Адам назвал ее по имени Ева, потому что она была матерью всего живого.

Я сделал замену регулярного выражения, например Find: "(\d+)" Replace: "\n$1"
Я пробовал несколько разных способов, таких как: - --wrap вокруг-регулярное выражение - --down [курсор в конце]

Это приведет все стихи в порядок, но изменит все номера стихов на 1?

2 ответа2

8

Если вы устанавливаете Notepad++, вы можете использовать регулярные выражения в его функции Replace with . Ваша попытка почти верна.

  • Найти что: (\d+)v
  • Заменить на: \n\1v

Обратите внимание, что я использовал \1 вместо $1 .

3

Если вам нравится работать из командной строки, используя sed, это просто:

C:\> sed -i 's/\([0-9]\+\)v/\n\1/g' path\to\yourfile.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .