6

Есть ли способ в блокноте ++, чтобы разделить текст одной строки, чтобы текст с заданным максимальным количеством символов в одной строке? Я нашел только неопределенную строку в операциях с линиями.

3 ответа3

5
  • Нажмите CTRL+H, чтобы вызвать Поиск и заменить.
  • В поле "найти" введите: ^.{4}
  • Где 4 может быть изменено на любое число, представляющее количество символов, которое вы хотите в строке.
  • В поле замены введите $0\r\n
  • В режиме поиска выберите "Регулярное выражение"
  • Чтобы обернуть все строки, нажмите "Заменить все"

Заметки:

  • Перед использованием "Заменить все" вы можете нажать "Найти далее" и "Заменить" несколько раз, чтобы убедиться, что ваш поиск работает так, как вы этого хотите.
  • Обратите внимание, что не найти и заменить способ отменить эти изменения. Вам придется использовать Отменить, если вы хотите отменить это.
  • Обратите внимание, что мы меняем текст, чтобы зафиксировать длину строки. Если вы просто хотите видеть длинные строки в окне в меню просмотра, выберите "Перенос по словам".
  • ^.{4} означает, что начиная с начала строки найдите первые 4 символа.
  • $0\r\n означает взять найденную информацию и заменить ее той же информацией, за которой следует возврат каретки и перевод строки. (Обратите внимание, что в системах * nix возврат каретки и перевод строки обрабатываются по-разному.)
2

Да, это возможно.

Если вы выполняете поиск / замену и используете Regex в качестве опции, следующее регулярное выражение позволит вам разбить строку на две части.

^(.{4})(.+)

Замените число 4 на количество символов, которые вы хотите найти. Замените $ 1 и $ 2, чтобы найти первую и вторую строку. Замена его на $ 1- $ 2 поместит - между обеими строками.

1

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

мягкая упаковка
Это означает, что текст будет разбит на ширину X столбцов, но когда вы скопируете и вставите его, чтобы сказать MS Word, он снова развернется, чтобы заполнить страницу. Другими словами, это просто визуальное сжатие

жесткая упаковка
Это означает, что N++ фактически добавит новые строки (возврат каретки, введите все, что вы хотите, чтобы они назывались *). Я полагаю, это то, что вы хотите.

Есть несколько способов сделать это.

  1. Используйте функции EOL (Split Line)
  2. Регулярные выражения
  3. Плагин TextFx

После 80 секунд тестирования я бы порекомендовал плагин TextFx. Это зависит от того, насколько твердой вы хотите, чтобы этот раскол был.

* - хотя да, я понимаю, что CF/LF разные.

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