Как разбить строки на определенный символ в Notepad ++?

104

У меня есть текстовый файл, содержащий текст вроде:

['22APR2012 23:10', '23APR2012 07:10', 1, 3, 0], ['22APR2012 23:10', '23APR2012 07:20', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 
23:15', '23APR2012 06:40', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 23:15', '23APR2012 07:00', 1, 3, 0], ['22APR2012 23:15', '23APR2012 
07:00', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 1, 3, 0], ['22APR2012 23:20', '23APR2012 10:10', 1, 3, 0], 
['22APR2012 23:25', '23APR2012 05:35', 1, 3, 0], 

Я хочу , чтобы строки разбить на ],символы:

['22APR2012 19:30', '23APR2012 00:25', 0, 1, 0], 
['22APR2012 19:35', '23APR2012 01:45', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 0, 1, 0],
['22APR2012 19:55', '23APR2012 06:25', 1, 3, 0],

Есть ли способ сделать это в Notepad ++ или любом другом редакторе?

alwbtc
источник
2
дубликат вопроса суперпользователя
xQbert
1
Вы можете сказать мне, как это сделать, если я хочу прервать это ;? Решения для ]меня не работают
CodyBugstein
в принятом решении просто замените '],' на ';'
Aris

Ответы:

181
  1. Нажмите Ctrl + h или Search -> Replace в верхнем меню.
  2. В группе "Режим поиска" выберите "Регулярное выражение".
  3. В поле Найти текст введите ],\s*
  4. В поле "Заменить текстовым" введите ],\n
  5. Нажмите "Заменить все".
Creemama
источник
12
Чтобы заставить это работать в Notepad ++ версии 6.7.8.2, мне пришлось использовать режим расширенного поиска вместо регулярного выражения.
AJefferiss
4
Мне также пришлось использовать Extended, однако для одиночного разрыва строки \nбыл необходим только.
jarmerson
16

Предположим, ],это персонаж, на котором мы хотели остановиться

  1. открыто notePad++
  2. Открыть Find windowCtrl + F
  3. Перейти на Replaceвкладку
  4. Выберите Search ModeдляExtended
  5. Введите ],в Find Whatполе
  6. Введите \nв Replace withполе
  7. Ударить Replace All
  8. Бум
Малик Халил
источник
4
6. Введите \r\nв Replace withполе
Боб Stein
Для просмотра в Windows (например, в Блокноте) нам понадобится \ r \ n. В противном случае \ n работает на любой другой платформе (должна разорвать строку и продолжить под ней).
Сальвадор Валенсия
8

Если текст содержит \ r \ n, который необходимо преобразовать в новые строки, используйте режимы «Расширенный» или «Регулярное выражение» и избегайте символа обратной косой черты в «Найти что»:

Найдите что: \\ r \\ n

Заменить на: \ r \ n

a_vas
источник
6

Попробуйте так. Это сработало для меня

  1. Откройте Notepad ++, затем скопируйте свой контент
  2. Нажмите ctrl + h
  3. Найдите то, что должно быть , (запятая) или любой символ, который вы хотите заменить
  4. Заменить на должно быть \ n
  5. Выберите режим поиска -> Расширенный (\ n, \ r, \ t, \ 0)
  6. Затем нажмите «Заменить все».
Сасикумар Муругесан
источник
2

Я понятия не имею, как это может работать автоматически, но вы можете скопировать "]" вместе с новой строкой, а затем использовать функцию замены.

Мястржебовски
источник
2

Если вы хотите получить строку, разделенную запятыми, в столбец с CR LF, вы не сможете сделать это в Notepad ++, если вы не хотите писать код, вы можете манипулировать им в Microsoft Excel.

Если вы скопируете свою строку в местоположение B1:

A2 =LEFT(B1,FIND(",",B1)-1)
B2 =MID(B1,FIND(",",B1)+1,10000)

Выберите A2 и B2, скопируйте код в последовательные ячейки (перетаскивая):

A3 =LEFT(B2,FIND(",",B2)-1)
B3 =MID(B2,FIND(",",B2)+1,10000)

Когда вы получите #VALUE! в последней ячейке столбца A замените его значением предыдущей строки B.

В конце концов, ваш столбец A будет содержать желаемый текст. Скопируйте и вставьте его куда угодно.

SteveZ
источник
1
Очень оригинальное решение!
диего нунес
5
«вы не сможете сделать это в Notepad ++» - это неправда. Используйте reg exp как creemama, как описано выше. Работает отлично.
mentallurg