Для моего недавнего проекта мне нужен трюк, чтобы разделить строки, содержащие английские слова, на отдельные слова. Мой стек - 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

Надеюсь, вы сочтете это полезным :)