Для моего недавнего проекта мне нужен трюк, чтобы разделить строки, содержащие английские слова, на отдельные слова. Мой стек - Node.js, и для меня не было разработано пакетов.
Например, мне нужно, чтобы эта строка «youneedtolearnfromyourmistakes» была разделена на слова «You Need to Learning from your Mistakes».
По этой причине я начал поиски пакета, который бы соответствовал моим потребностям. И, наконец, с каким-то проектом с открытым исходным кодом я разрабатываю пакет для разделения строк на слова. Выпущен пакет под названием «wordsninja».
Https://github.com/parsakafi/wordsninja
https://npmjs.com/package/wordsninja
Установить
npm install wordsninja --save
Загрузить пакет
const WordsNinjaPack = require('wordsninja');
const WordsNinja = new WordsNinjaPack();
Загрузить словарь
await WordsNinja.loadDictionary(); // First load dictionary
Добавить слово (а)
WordsNinja.addWords('new word');
Параметры
word
: Слово (а) (строка | массив)
Разделить предложение
let words = WordsNinja.splitSentence(string, {camelCaseSplitter, capitalizeFirstLetter, joinWords});
Параметры
string
: строка для разделенияoptions
camelCaseSplitter
: Разделить по регистру верблюдов, по умолчаниюfalse
(необязательно)capitalizeFirstLetter
: первая буква должна быть заглавной, по умолчаниюfalse
(необязательно)joinWords
: возвращать слова соединения в виде предложения, по умолчаниюfalse
(необязательно)
Пример
(async () => {
await WordsNinja.loadDictionary(); // First load dictionary
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string);
console.log(words);
})();
Результат
[ 'you', 'need', 'to', 'learn', 'from', 'your', 'mistakes' ]
Больше вариантов
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string,
{
camelCaseSplitter: true, // Frist camel case spliting
capitalizeFirstLetter: true, // Capitalize first letter of result
joinWords: true // Join words
}
);
console.log(words);
Результат
You Need To Learn From Your Mistakes
Добавить слово (а)
Вы можете добавлять новые слова в словарь во время выполнения
WordsNinja.addWords('Parsa'); // Add one word
WordsNinja.addWords(['Parsa', 'Kafi']); // Add one or more words
Пример
let string = 'parsayouneedtolearnfromyourmistakes';
WordsNinja.addWords('Parsa');
let words = WordsNinja.splitSentence(string,
{
capitalizeFirstLetter: true, // Capitalize first letter of result
joinWords: true // Join words
}
);
console.log(words);
Результат
Parsa You Need To Learn From Your Mistakes
Надеюсь, вы сочтете это полезным :)