Как использовать регулярное выражение для добавления перевода строки? - PullRequest
0 голосов
/ 02 июня 2009

У меня действительно длинная строка. Я хотел бы добавить перевод строки каждые 80 символов. Есть ли шаблон замены регулярных выражений, который я могу использовать, чтобы вставить "\ r \ n" каждые 80 символов? Я использую C #, если это имеет значение.

Я бы хотел избежать использования цикла.

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

1 Ответ

5 голосов
/ 02 июня 2009

Я не знаю точных имен C #, но это должно быть что-то вроде

str.Replace("(.{80})", "$1\r\n");

Идея состоит в том, чтобы захватить 80 символов и сохранить их в группе, а затем вернуть обратно (я думаю, «$ 1» - правильный синтаксис) вместе с «\ r \ n».

( Edit: В исходном регулярном выражении было +, что вам определенно не нужно. Это полностью исключило бы все, кроме последней строки и любых оставшихся фрагментов, - явно неоптимальный результат .)

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

Вы должны больше смотреть на перенос слов, если это действительно должен быть читаемый текст. Немного погуглил обнаружил пару из функций ; или, если это текстовое поле, вы можете просто включить свойство WordWrap .

Кроме того, зайдите на страницу .Net по адресу регулярно-expressions.info. На сегодняшний день это лучший справочный сайт для регулярных выражений, который я знаю. (Ян Гойваертс на SO, но никто не говорил мне так говорить.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...