Как разделить несколько страниц текста (80000 слов), которые мне нужно разделить на 160 символов на страницу в текстовом редакторе?

У меня есть несколько страниц текста (80000 слов), которые я должен преобразовать и разделить на максимум 160 символов на страницу.

Кто-нибудь из вас может помочь мне сделать это в BBedit или Sublime Text (Mac)?

2 ответа

Несколько курсоров Sublime действительно мощные. В сочетании с регулярными выражениями, вы можете делать много интересных вещей в редакторе, включая это.

  1. Нажмите Ctrl+F, чтобы открыть ящик поиска.
  2. Убедитесь, что регулярные выражения включены (Alt+R для переключения).
  3. Тип (.|\n){1,160}[ .!?], Если вы нажмете Enter несколько раз, вы увидите каждую страницу, выбранную по очереди.
  4. Нажмите Alt+Enter, чтобы выбрать несколько страниц одновременно.
  5. Нажмите стрелку вправо, чтобы поместить курсор в конец каждой страницы.
  6. Введите все, что вы хотите, чтобы разделить свои страницы. Например, дважды нажмите Enter, введите длинную строку "-", а затем дважды нажмите Enter.

Почему регулярное выражение работает

Регулярное выражение ищет любой символ (включая новые строки), повторенный от 1 до 160 раз, включительно: (.|\n){1,160}, Однако он будет совпадать только в том случае, если сможет найти пробел или знак препинания после этих символов: [ .!?], Поскольку регулярные выражения стремятся (они соответствуют самой длинной возможной строке, даже если меньшие подстроки также совпадают), каждая совпадающая строка будет самой длинной строкой, состоящей из от 1 до 160 символов, за которыми следует пробел или знак пунктуации.

(Кстати, вы имели в виду 1600 символов? Страницы с 160 символами действительно очень маленькие страницы.)

Если у вас установлены инструменты GNU, вы можете сделать это из командной строки.

Вы не указали, как вы хотели бы разбить эти страницы помимо количества символов. split может сделать это с помощью параметра -b. Что-то вроде:

# split -b 160 inputfile split

Должен сделать это. Удвойте количество байтов, если вы используете многобайтовый набор символов. Если вы используете UTF-8, вам сначала нужно конвертировать в UTF-16.

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