از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تبدیل رشته به حروف کوچک در جاوا اسکریپت
سرفصلهای مطلب
معرفی
اگر تا به حال متوجه شده اید که نیاز به استانداردسازی ورودی کاربر یا آماده سازی داده های متنی برای تجزیه و تحلیل دارید، ممکن است نیاز به حروف کوچک داشته باشید. در حالی که یک روش پرکاربرد وجود دارد، روش های دستکاری رشته دیگری نیز وجود دارد که باید آنها را نیز در نظر بگیرید، که در این بایت به آن خواهیم پرداخت.
نیاز به تبدیل حروف کوچک
تا به حال فکر کرده اید که چرا باید رشته ها را به حروف کوچک تبدیل کنید؟ خوب، بیایید یک سناریو را در نظر بگیریم. فرض کنید در حال ساخت یک ویژگی جستجو برای یک وب سایت هستید. برای اطمینان از اینکه جستجو به حروف بزرگ و کوچک حساس نیست، باید هم ورودی جستجو و هم داده های جستجو شده را به یک حروف یکسان تبدیل کنید. حروف کوچک اغلب بهترین انتخاب است.
یکی دیگر از موارد استفاده رایج، پیش پردازش داده در پردازش زبان طبیعی (NLP) است. قبل از تجزیه و تحلیل داده های متنی، اغلب برای یکنواختی بیشتر به حروف کوچک تبدیل می شود.
روش های جاوا اسکریپت برای تبدیل حروف کوچک
جاوا اسکریپت دو روش مفید برای تبدیل رشته ها به حروف کوچک ارائه می دهد: toLowerCase()
و toLocaleLowerCase()
. این روش ها تبدیل رشته ها به حروف کوچک را آسان می کند.
این toLowerCase() روش
این toLowerCase()
متد در جاوا اسکریپت تمام کاراکترهای بزرگ یک رشته را به کاراکترهای کوچک تبدیل می کند و نتیجه را برمی گرداند. رشته اصلی بدون تغییر باقی می ماند زیرا این روش یک رشته جدید را برمی گرداند.
در اینجا یک مثال ساده آورده شده است:
let str = "Hello, World!";
let lowerCaseStr = str.toLowerCase();
console.log(lowerCaseStr); // "hello, world!"
در این مثال، toLowerCase()
نامیده میشود روی رشته str
، تبدیل تمام کاراکترهای بزرگ به حروف کوچک. سپس نتیجه به سیستم وارد می شود console.
این toLocaleLowerCase() روش
این toLocaleLowerCase()
روش، روی از سوی دیگر، هنگام تبدیل رشته ها به حروف کوچک، قوانین خاص محلی را در نظر می گیرد. این روش بهویژه هنگام برخورد با زبانهایی که دارای قوانین حروف خاص محلی هستند مفید است.
به عنوان مثال، در ترکی، حروف بزرگ «i» «I» است (من نقطهدار)، نه «من». بیایید این را در عمل ببینیم:
let str = "İstanbul";
let lowerCaseStr = str.toLocaleLowerCase('tr-TR');
console.log(lowerCaseStr); // "i̇stanbul"
در این مثال، ما یک کلمه ترکی را به حروف کوچک تبدیل می کنیم. این toLocaleLowerCase()
روش به درستی “İ” را با رعایت قوانین زبان ترکی به “i̇” تبدیل می کند.
توجه داشته باشید: اگر با متن یا زبان انگلیسی بدون قوانین حروف خاص سروکار دارید، toLowerCase()
و toLocaleLowerCase()
همان نتایج را خواهد داد. با این حال، برای زبان هایی با قوانین حروف خاص، بهتر است از آن استفاده کنید toLocaleLowerCase()
.
نمونه های بیشتری از تبدیل حروف کوچک
بیایید با تبدیل یک رشته ساده به حروف کوچک با استفاده از عبارت شروع کنیم toLowerCase()
روش. این روش به هیچ پارامتری نیاز ندارد و رشته جدیدی را برمی گرداند که در آن تمام کاراکترهای اصلی به حروف کوچک تبدیل می شوند.
let greeting = "Hello, World!";
let lowerCaseGreeting = greeting.toLowerCase();
console.log(lowerCaseGreeting); // "hello, world!"
حالا بیایید استفاده کنیم toLocaleLowerCase()
. این روش مشابه است toLowerCase()
، اما آن را در نظر می گیرد hostمحل فعلی. برای اکثر زبانها، عملکرد آن یکسان است toLowerCase()
.
let greetingInTurkish = "MERHABA, DÜNYA!";
let lowerCaseGreetingInTurkish = greetingInTurkish.toLocaleLowerCase('tr-TR');
console.log(lowerCaseGreetingInTurkish); // "merhaba, dünya!"
همانطور که می بینید، حتی کاراکترهای مخصوص ترکی نیز به درستی به حروف کوچک تبدیل می شوند.
توجه داشته باشید: این toLocaleLowerCase()
متد یک آرگومان محلی می گیرد. اگر محلی ارائه نشده باشد، از آن استفاده می کند hostمحل فعلی.
مسائل و راه حل های بالقوه
برخورد با Null یا Undefined
هنگام کار با جاوا اسکریپت، ممکن است با وضعیتی مواجه شوید که رشته ای که می خواهید به حروف کوچک تبدیل کنید null
یا undefined
. ببینیم در چنین حالتی چه اتفاقی می افتد.
let nullString = null;
let lowerCaseNullString = nullString.toLowerCase();
// Uncaught TypeError: Cannot read property 'toLowerCase' of null
همانطور که انتظار می رود، این یک را پرتاب می کند TypeError
. برای رسیدگی به این موضوع، میتوانیم یک چک اضافه کنیم تا مطمئن شویم رشته نیست null
یا undefined
قبل از اینکه بخواهیم آن را به حروف کوچک تبدیل کنیم.
let nullString = null;
let lowerCaseNullString = nullString ? nullString.toLowerCase() : null;
console.log(lowerCaseNullString); // null
مدیریت انواع داده های غیر رشته ای
یکی دیگر از مسائل احتمالی تلاش برای تبدیل یک نوع داده غیر رشته ای به حروف کوچک است. به عنوان مثال، اگر سعی کنید یک عدد را به حروف کوچک تبدیل کنید، یک عدد دریافت خواهید کرد TypeError
.
let number = 12345;
let lowerCaseNumber = number.toLowerCase();
// Uncaught TypeError: number.toLowerCase is not a function
برای انجام این کار، ابتدا می توانید نوع داده غیر رشته ای را با استفاده از عبارت به رشته تبدیل کنید toString()
روش، و سپس آن را به حروف کوچک تبدیل کنید.
let number = 12345;
let lowerCaseNumber = number.toString().toLowerCase();
console.log(lowerCaseNumber); // "12345"
سایر موارد تبدیل
تبدیل همه حروف به حروف کوچک تنها مورد استفاده نیست. امکان دیگر این است که برخی از حروف، اما نه همه، را به حروف کوچک تبدیل کنید، در حالی که برخی دیگر را به حال خود رها کنید یا آنها را به حروف بزرگ تبدیل کنید. هر دو toTitleCase()
و toProperCase()
این کار را انجام دهید
در حالی که روشهایی مانند این ذاتاً توسط جاوا اسکریپت پشتیبانی نمیشوند، میتوانیم این روشها را خودمان بنویسیم یا از کتابخانههای ابزاری مانند Lodash استفاده کنیم که آنها را ارائه میکنند.
این toTitleCase() روش
بنابراین، چگونه در مورد ایجاد و استفاده از روشی مانند این اقدام کنیم؟ این روش اولین کاراکتر هر کلمه در یک رشته را به حروف بزرگ تبدیل می کند، در حالی که بقیه کاراکترها با حروف کوچک باقی می مانند.
در اینجا یک پیاده سازی ساده وجود دارد:
String.prototype.toTitleCase = function() {
return this.replace(/\w\S*/g, function(txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
};
console.log("hello world".toTitleCase()); // Output: "Hello World"
در این قطعه کد از کد استفاده می کنیم replace()
روش با یک عبارت منظم برای مطابقت با هر کلمه در رشته. برای هر کلمه منطبق، اولین کاراکتر را به بزرگ و بقیه را به حروف کوچک تبدیل می کنیم.
این toProperCase() روش
روش دیگری که جاوا اسکریپت به صورت بومی پشتیبانی نمی کند این است toProperCase()
. این روش مشابه است toTitleCase()
، اما فقط حرف اول رشته را بزرگ می کند و بقیه رشته را با حروف کوچک می گذارد.
در اینجا روش اجرای آن آمده است:
String.prototype.toProperCase = function() {
return this.charAt(0).toUpperCase() + this.slice(1).toLowerCase();
};
console.log("hello world".toProperCase()); // Output: "Hello world"
در این کد، ما از charAt(0).toUpperCase()
برای تبدیل اولین کاراکتر رشته به حروف بزرگ. سپس، استفاده می کنیم slice(1).toLowerCase()
برای تبدیل بقیه رشته به حروف کوچک.
نتیجه
در این بایت، روش تبدیل رشته ها به حروف کوچک در جاوا اسکریپت را با استفاده از آن بررسی کرده ایم toLowerCase()
و toLocaleLowerCase()
مواد و روش ها. ما همچنین یاد گرفتیم که چگونه متدهای سفارشی مانند ایجاد کنیم toTitleCase()
و toProperCase()
. ما در مورد مسائل احتمالی که ممکن است با آنها روبرو شوید و روش رسیدگی به آنها صحبت کردیم.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-31 19:30:07