توسعهدهنده نرمافزار / http://parsa.ws
معرفی پکیج WordsNinja برای Node.js
در حال توسعه سرویسی هستم که نیاز هست واژههای انگلیسی که بدون هیچ جداکنندهای در دیتاست قرار دارند رو به صورت واژههای تفکیک شده داشته باشم.
توسعه محصول برپایه Node.js هست و خب این مشکلی بود که لازم بود حل بشه، در جستجویی که داشتم به لینک زیر رسیدم:
نمونه کدهایی به زبان پایتون و جاوااسکریپت به همراه فایلی حاوی کلمات انگلیسی در این پست بود که به من برای حل مشکلم کمک کرد. (از خوبیهای فعالیت در جامعه متنباز ?)
با استفاده از کد جاوااسکریپتی که در پست بود و بهینهسازی و توسعه اون پکیج npmی ایجاد کردم که برای پروژههای آینده کاربرد داشته باشه.
نام پکیج wordsninja هست که نحوه استفاده از اون رو توضیح میدم.
نصب پکیج
npm install wordsninja --save
فراخوانی پکیج و ایجاد object
const WordsNinjaPack = require('wordsninja');
const WordsNinja = new WordsNinjaPack();
برای استفاده نیاز هست ابتدا دیکشنری واژههای انگلیسی رو ایجاد کنید که با دستور زیر فرخوانی خواهد شد (خروجی این متد از نوع Promise هست که نیاز هست متد برنامه شما به شکل Async باشد)
await WordsNinja.loadDictionary();
تفکیک واژهها به کمک متد splitSentence انجام میشه
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string);
console.log(words);
که چنین خروجی رو نمایش میده:
[ 'you', 'need', 'to', 'learn', 'from', 'your', 'mistakes' ]
پارامترهای اختیاری متد splitSentence به شما برای ایجاد خروجی بهتر کمک میکند
پارامتر camelCaseSplitter: شروع تفکیک براساس Camel Case
پارامتر capitalizeFirstLetter: تغییر حروف ابتدای واژهها به حروف بزرگ
پارامتر joinWords: برای ایجاد واژهها به شکل پیوسته
نمونه کاملی از نحوه استفاده
(async () => {
await WordsNinja.loadDictionary(); // First load dictionary
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
افزودن واژه به دیکشنری در زمان اجرا
همچنین میتوانید قبل از اجرای متد تفکیک واژهها از متد addWords برای افزودن واژه(ها) به دیکشنری استفاده کنید، نمونه:
WordsNinja.addWords('Parsa'); // Add one word
WordsNinja.addWords(['Parsa', 'Kafi']); // Add one or more words
لینک پکیج در npm
امیدوارم برای شما به هر شکل کاربردی باشه :)
مطلبی دیگر از این انتشارات
بررسی خودمونی روش های راه اندازی Node js در کنار Apache
مطلبی دیگر از این انتشارات
روز سی و یکم از چالش ۱۰۰ روز کد زدن - PUG
مطلبی دیگر از این انتشارات
مشکلات امنیتی رایج استفاده جاوااسکریپت در بک اند