Я хочу, чтобы абзацы содержали до трех предложений.
Для этого моя стратегия состоит в том, чтобы l oop во всех абзацах и найти окончание третьего предложения (см. Примечание). И затем, чтобы добавить символ "\ r" после него.
Вот мой код:
for (var i = 1; i < paragraphs.length; i++) {
...
sentEnds = paragraphs[i].getText().match(/[a-zA-Z0-9_\u0590-\u05fe][.?!](\s|$)|[.?!][.?!](\s|$)/g);
//this array is used to count sentences in Hebrew/English/digits that end with 1 or more of either ".","?" or "!"
...
if ((sentEnds != null) && (sentEnds.length > 3)) {
lineBreakAnchor = paragraphs[i].getText().match(/.{10}[.?!](\s)/g);
paragraphs[i].replaceText(lineBreakAnchor[2],lineBreakAnchor[2] + "\r");
}
}
Это отлично работает для первого раунда. Но если я снова запускаю код - текст после вставленного символа "\ r" не распознается как новый абзац . Следовательно, каждый раз при запуске скрипта будет вставляться больше «\ r» (новых строк).
Как заставить скрипт «понять», что «\ r» означает новый отдельный абзац?
ИЛИ
Есть ли другой персонаж / подход, который поможет?
Спасибо.
- Примечание: я использую последние 10 символов предложения в предположении совпадения будут достаточно уникальными, чтобы сделать только 1 замену.