Pluralize/ Singularize предложение, используя компромиссную библиотеку в JavaScript
Я пытаюсь использовать компромиссную библиотеку для множественного / сингулярного предложения, которые принимают эти формы:
const str1 = "10 dog";
const str2 = "a man and 3 cat";
const str3 = "a bear";
Если я использую pluralize
Метод от компромисса, он возвращает список существительных или глаголов во множественном числе, но я пытаюсь выяснить, как получить его для множественного числа всей строки.
const nlp = require("compromise");
const doc = nlp(str2);
const finalStr = doc.nouns().toPlural().out("normal"); // "man cats" instead of "a man and 3 cats";
1 ответ
Это будет работать, потому что сначала идентифицирует все существительные:
doc.match("#Noun").nouns().toPlural().out("normal");
редактировать
Я вижу, откуда возникла проблема. Взгляните ниже на два журнала консоли:
const nlp = require("compromise")
let doc = nlp("a man and 3 cat")
doc.match("#Noun").nouns().toPlural()
console.log(doc.out("normal")) // "a man and 3 cats"
let doc2 = doc.match("#Noun").nouns().toPlural()
console.log(doc2.out("normal")) // "man cats"
Обратите внимание, что во втором примере я сохраняю его в новую переменную. Так что я думаю .match("#Noun")
не было необходимости, и вы были правы в первый раз - просто не сохраняйте это в finalStr
,