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

626
Kenny

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

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

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

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

4603,2504603
4616,2504616
4617,2504617

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

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

0
Я смог вставить свои данные в Microsoft Word, а затем заменить все вхождения #; с ^ p, который MS Word интерпретирует как возврат каретки (перевод строки). Kenny 12 лет назад 1
Отправьте это как ответ, если это решило проблему для вас. ChrisF 12 лет назад 0

3 ответа на вопрос

1
TheUser1024

You almost got it mate. Notepad++ can replace stuff with line breaks. Go to the Find&Replace Dialogue and select extended mode. Then you can simply replace all your #; with \r\n.

Thanks to Bob for pointing out that Windows wants carriage-return + line-feed while Unix and other *nixes prefer line-feed only.

`\ r \ n` (возврат каретки + перевод строки) является стандартным и предпочтительным в Windows. Только перевод строки (`\ n`, обычно используемый * nix) может некорректно отображаться в других программах Windows. Bob 12 лет назад 0
что ж, спасибо тебе! исправил этот ответ. TheUser1024 12 лет назад 0
1
hdhondt

If you don't have NotePad++, you still have Word - since you have Excel. Go to Edit > Find & Replace. Enter "#;" in the "Find what" box, and "^p" in "Replace with". In Word ^p means a paragraph marker, i.e a newline or CR/LF.

EDIT

As you're using Excel you can use Data > Text_to_Columns to do the conversion. Select # as the delimiter. As the delimiter cannot be 2 characters (#;) you will also have to use Edit > Find & Replace to remove the semi-colons (;) afterwards.

And, of course, Excel will play havoc with the commas as it treats them as thousands-separators.

0
Kenny

I was able to paste my data into Microsoft Word, then replace all occurrences of #; with ^p which MS Word interprets as a carriage return (line break).

Похожие вопросы