У меня есть эта строка в файле Excel:
4603,2504603#;4616,2504616#;4617,2504617#;4519,2504519#;4620,2504620
(На самом деле это намного длиннее, но схема та же самая).
Мне нужно как-то отсортировать это во что-то, что можно будет легче читать. Я хочу, чтобы конечный результат выглядел так:
4603,2504603
4616,2504616
4617,2504617
Думаю, мне нужна программа или команда, которая может заменить #; на перенос строки. Мне нужно что-то, что будет работать в Windows 7. Я помню, как делал что-то похожее на этом курсе по Linux, используя скрипты оболочки, но не могу вспомнить, как это было сделано.
Примечание: Это НЕ домашнее задание. Это то, что мой босс попросил меня сделать на работе.
решение1
Ты почти угадал, приятель. Notepad++ может заменять текст переносами строк. Перейдите в диалоговое окно «Найти и заменить» и выберите extended mode
. Затем вы можете просто заменить все свои #;
на \r\n
.
БлагодаряБобза указание на то, что Windows требует возврат каретки и перевод строки, в то время как Unix и другие *nix-системы предпочитают только перевод строки.
решение2
Если у вас нет NotePad++, у вас все равно есть Word — поскольку у вас есть Excel. Перейдите в меню Правка > Найти и заменить. Введите "#;" в поле "Найти что" и "^p" в поле "Заменить на". В Word ^p означает маркер абзаца, т. е. новую строку или CR/LF.
РЕДАКТИРОВАТЬ
Так как вы используете Excel, вы можете использовать Data > Text_to_Columns для выполнения преобразования. Выберите # в качестве разделителя. Поскольку разделитель не может состоять из 2 символов (#;), вам также придется использовать Edit > Find & Replace, чтобы впоследствии удалить точки с запятой (;).
И, конечно же, Excel будет творить хаос с запятыми, поскольку он рассматривает их как разделители тысяч.
решение3
Мне удалось вставить свои данные в Microsoft Word, а затем заменить все вхождения #; на ^p, который MS Word интерпретирует как возврат каретки (перенос строки).