Как манипулировать этой строкой текста, чтобы сделать ее читабельной?

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

4603,2504603 #; 4616,2504616 #; 4617,2504617 #; 4519,2504519 #; 4620,2504620

(На самом деле это намного дольше, но шаблон тот же).

Мне нужно уметь кое-как разбирать это на что-то, что легче читать. Я хочу, чтобы конечный результат выглядел так:

4603,2504603
4616,2504616
4617,2504617

Я думаю, мне нужна программа или команда, которая может заменить #; с разрывом строки. Мне нужно что-то, что будет работать в Windows 7. Я помню, что делал что-то подобное в классе Linux с использованием сценариев оболочки, но я не помню, как это было сделано.

Примечание: это НЕ домашнее задание. Это то, что мой босс попросил меня сделать на работе.

3 ответа

Решение

Я смог вставить свои данные в Microsoft Word, а затем заменить все вхождения #; с ^p, который MS Word интерпретирует как возврат каретки (перевод строки).

Вы почти получили это, приятель. Notepad ++ может заменить вещи с переносами строк. Перейдите в диалог поиска и замены и выберите extended mode , Тогда вы можете просто заменить все свои #; с \r\n ,

Спасибо Bob за то, что он указал, что Windows хочет возврат каретки + перевод строки, в то время как Unix и другие * nixes предпочитают только перевод строки.

Если у вас нет NotePad ++, у вас все еще есть Word - так как у вас есть Excel. Перейдите в "Правка"> "Найти и заменить". Войти "#;" в поле "Найти что" и "^ p" в поле "Заменить на". В Word ^ p означает маркер абзаца, то есть перевод строки или CR / LF.

РЕДАКТИРОВАТЬ

Поскольку вы используете Excel, вы можете использовать Data> Text_to_Columns для выполнения преобразования. Выберите # в качестве разделителя. Поскольку разделитель не может содержать 2 символа (#;), вам также придется использовать "Правка"> "Найти и заменить", чтобы впоследствии удалить точки с запятой (;).

И, конечно же, Excel будет портить запятые, так как рассматривает их как разделители тысяч.

Другие вопросы по тегам