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

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

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

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

4603,2504603
4616,2504616
4617,2504617

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

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

3 ответа3

1

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

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

1

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

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

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

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

0

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

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