Я писатель-фантаст, и я писал в MS Word.Я написал несколько макросов, чтобы помочь мне отредактировать художественный текст, и один из них проверил абзац и пометил (красным) дубликат (или трижды слова и т. Д.).Пример:
"I came **home**. And while at **home** I did this and that."
Слово "дом" используется дважды и стоит проверить, действительно ли я не могу изменить предложение.
Сейчас я в основном использую документы Google для записи, но у меня все еще естьвыполнять редактирование в MS Word, в основном из-за этого макроса - я не могу запрограммировать его в скрипте Google.
function PobarvajBesede() {
var doc = DocumentApp.getActiveDocument();
var cursor = DocumentApp.getActiveDocument().getCursor();
var surroundingText = cursor.getSurroundingText().getText();
var WordsString = WORDS(surroundingText);
Logger.log(WordsString);
//so far, so good. But this doesn't work:
var SortedWordsString = SORT(WordsString[1],1,False);
// and I'm lost.
}
function WORDS(input) {
var input = input.toString();
var inputSplit = input.split(" ");
// Logger.log(inputSplit);
inputSplit = inputSplit.toString();
var punctuationless = inputSplit.replace(/[.,\/#!$%\?^&\*;:{}=\-_`~()]/g," ");
var finalString = punctuationless.replace(/\s{2,}/g," ");
finalString = finalString.toLowerCase();
return finalString.split(" ") ;
}
Если бы я мог получить только список слов (в верхнем регистре, длиннее 3 символов), отсортированный по количеству их появлений в регистраторе, это помогло бы мнеЛот:
HOME (2)
AND (1)
...
Спасибо.