Добавить разрыв строки внутри строки только между указанными c позициями и только при наличии пробела - Javascript - PullRequest
0 голосов
/ 10 февраля 2020

У меня очень длинная строка, которую я экспортирую в Excel. Я хотел бы добавить разрыв строки, где после каждого 45 символов есть пробел.

Например:
Разрыв строки после 6-го символа:

"Это пример короткой строки"

"Это
Пример
короткая строка"

Я не эксперт по регулярным выражениям, но до сих пор Я выбрал белый цвет, но он ломает черту независимо от того, есть ли пробел на 45-м символе

resultString += `${text.match(/.{1,44}/g).join('\n')} \n \n`;

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Я использовал это в конце концов:

        const arrayFromString: string[] = string.split('');
        let index = 0;
        arrayFromString.forEach((char: string) => {
          index++;
          if (index > 45 && char === ' ') {
            resultsText += '\n    ';
            index = 0;
          } else {
            resultsText += char;
          }
0 голосов
/ 10 февраля 2020

Вы можете использовать функцию замены и замены с условными значениями замены.

Здесь я сопоставляю значения длиной до 45 символов и проверяю, является ли следующий символ пробелом или нет (который фиксируется в группе захвата g1). На основании g1 мы возвращаем значение из функции заменителя

let str = `Line break after the 6th char:

"This is an example"`


let str2 = `Line break after the 6th char:

"This is an e xample"`

let spliter = (str) =>
  str.replace(/[\s\S]{1,45}(.)/g, (match, g1) =>
    g1 === ' ' ? `${match}\n` : match
  )


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