1.38.0tokenize
یک رشته را با استفاده از مرزهای Unicode-aware برای حروف، اعداد، علائم ترکیبی و تغییرات حروف بزرگ و کوچک به tokenهای متنی تقسیم میکند.
tokenize(value):string[]کاراکترهای کلمه
یک کاراکتر زمانی بخشی از token محسوب میشود که یک حرف Unicode، عدد Unicode یا mark Unicode باشد. کاراکترهای خارج از این دستهها token فعلی را پایان میدهند.
مرز حروف کوچک و بزرگ
وقتی کاراکتر فعلی uppercase باشد، کاراکتر قبلی lowercase یا عدد باشد و کاراکتر بعدی lowercase باشد، یک مرز token ایجاد میشود.
دنبالههای حروف بزرگ
کاراکترهای uppercase پشت سر هم بهصورت یک دنباله بررسی میشوند. طول دنباله و طول prefix قبل از آن برای تعیین مرز استفاده میشوند تا در حالتهای مرتبط، دنبالههایی شبیه acronym کنار هم باقی بمانند.
جداکنندهها
کاراکترهایی که حرف، عدد یا mark Unicode نیستند، token فعلی را پایان میدهند. tokenهای خالی به نتیجه اضافه نمیشوند.
پشتیبانی از Unicode
قبل از پردازش، ورودی با Array.from تبدیل میشود؛ بنابراین iteration بر اساس code pointهای Unicode انجام میشود، نه code unitهای UTF-16. تشخیص نوع کاراکترها نیز با Unicode property escapes انجام میشود.
پارامترها
valuestringالزامیرشتهای که باید به tokenهای متنی تقسیم شود.
مقدار بازگشتی
string[]آرایهای از tokenهای استخراجشده از رشته ورودی.
مثالها
استفاده پایه
جداکنندههایی مانند فاصله برای جدا کردن tokenها استفاده میشوند.
tokenize("hello world");
// ["hello", "world"]علائم نگارشی
کاراکترهای غیرکلمهای، کاراکترهای کلمهای اطراف خود را از هم جدا میکنند.
tokenize("hello-world!");
// ["hello", "world"]CamelCase
تغییر از حروف کوچک به حروف بزرگ میتواند یک مرز بین tokenها ایجاد کند.
tokenize("helloWorld");
// ["hello", "World"]PascalCase
شناسههای PascalCase بر اساس قوانین مرزبندی حروف بزرگ و کوچک تقسیم میشوند.
tokenize("HelloWorld");
// ["Hello", "World"]مخففها
دنبالههای حروف بزرگ بهصورت ویژه پردازش میشوند تا هر حرف بزرگ به یک token جداگانه تبدیل نشود.
tokenize("parseHTTPResponse");
// ["parse", "HTTP", "Response"]اعداد
کاراکترهای عددی Unicode بهعنوان کاراکترهای کلمه در نظر گرفته میشوند.
tokenize("version2Update");
// ["version2", "Update"]متن Unicode
حروف Unicode بهعنوان کاراکترهای کلمه حفظ میشوند.
tokenize("سلام دنیا");
// ["سلام", "دنیا"]ورودی خالی
یک رشته خالی هیچ tokenای تولید نمیکند.
tokenize("");
// []