از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش جایگزینی چندین کاراکتر در یک رشته با جاوا اسکریپت
سرفصلهای مطلب
معرفی
در این بایت ما چندین نوع کاراکتر را در یک رشته با استفاده از جاوا اسکریپت جایگزین خواهیم کرد. ما می خواهیم دنیای دستکاری رشته، به ویژه تمرکز را بررسی کنیم روی روش جایگزینی یک یا چند نوع کاراکتر در یک رشته
رشته ها در جاوا اسکریپت
در جاوا اسکریپت، رشته به دنباله ای از کاراکترها گفته می شود که در یک یا دو گیومه محصور شده اند. این یکی از انواع داده های اساسی در زبان است.
let myString = "Hello, رسانگار readers!";
console.log(myString); // "Hello, رسانگار readers!"
رشته ها در جاوا اسکریپت تغییر ناپذیر هستند، به این معنی که پس از ایجاد نمی توان آنها را تغییر داد. اما این بدان معنا نیست که ما نمی توانیم محتوای یک رشته را تغییر دهیم. ما فقط نمی توانیم مستقیماً این کار را انجام دهیم. در عوض، عملیاتی مانند جایگزینی کاراکترها یک رشته جدید ایجاد می کند.
چرا چندین کاراکتر را در یک رشته جایگزین کنید؟
مواقع زیادی وجود دارد که ممکن است بخواهید چندین کاراکتر را در یک رشته جایگزین کنید. فرض کنید میخواهید ورودی کاربر را پاکسازی کنید، در این مورد میخواهید کاراکترهای ویژه را جایگزین کنید تا از حملات تزریق SQL جلوگیری کنید. یا شاید شما با یک مجموعه داده متنی بزرگ کار می کنید و نیاز دارید که علائم نگارشی را استاندارد کنید. در هر صورت، درک روش جایگزینی چندین کاراکتر در یک رشته می تواند مفید باشد.
چگونه یک کاراکتر را در یک رشته جایگزین کنیم
قبل از اینکه ببینیم چگونه چندین کاراکتر را جایگزین کنیم، با جایگزینی یک کاراکتر شروع می کنیم. ساده ترین راه برای انجام این کار استفاده از replace()
روش. این روش یک رشته را برای یک مقدار مشخص جستجو می کند و یک رشته جدید را در جایی که مقادیر مشخص شده جایگزین می شوند، برمی گرداند.
در اینجا یک مثال است:
let myString = "I love cats.";
let newString = myString.replace("cats", "dogs");
console.log(newString); // "I love dogs."
در این مثال کلمه «گربه» را با «سگ» جایگزین کردیم. اما به یاد داشته باشید، ما در حال تمرکز هستیم روی شخصیت ها، نه کلمات بنابراین بیایید اکنون فقط یک کاراکتر را جایگزین کنیم:
let myString = "I love cats.";
let newString = myString.replace("c", "b");
console.log(newString); // "I love bats."
ما با موفقیت اولین رخداد شخصیت “c” را با “b” جایگزین کردیم! اما اگر بخواهیم جایگزین کنیم چه؟ همه وقوع یک شخصیت؟ خوب، replace()
روش فقط جایگزین اولین تطابقی می شود که پیدا می کند. برای جایگزینی همه رخدادها، باید از یک عبارت منظم با یک اصلاح کننده جهانی استفاده کنیم (g
).
let myString = "I love cats and dogs.";
let newString = myString.replace(/o/g, "0");
console.log(newString); // "I l0ve cats and d0gs."
اکنون همه موارد “o” را با “0” جایگزین کرده ایم. اما در مورد جایگزینی چندین کاراکتر مختلف چطور؟
جایگزینی چندین کاراکتر در یک رشته
برای جایگزینی چندین کاراکتر مختلف در یک رشته، همچنان می توانیم از آن استفاده کنیم replace()
روش، اما ما باید از آن با یک عبارت منظم استفاده کنیم. عبارت منظم شامل تمام کاراکترهایی است که می خواهیم جایگزین کنیم، که در براکت های مربع محصور شده اند ()
.
در اینجا یک مثال است:
let myString = "I love cats, dogs, and birds.";
let newString = myString.replace(/(cdbr)/g, "*");
console.log(newString); // "I love *ats, *ogs, an* *i**s."
در اینجا، ما تمام رخدادهای کاراکترهای “c”، “d”، “b” و “r” را با “*” جایگزین کردیم. این g
اصلاح کننده تضمین می کند که همه موارد این کاراکترها جایگزین می شوند، نه فقط اولین.
این فقط یک مقدمه اولیه برای جایگزینی چندین کاراکتر در یک رشته با جاوا اسکریپت است. چیزهای بیشتری برای کاوش وجود دارد، مانند استفاده از split()
و join()
روشها یا رسیدگی به حساسیت حروف کوچک و بزرگ با عبارات منظم. اما ما آن موضوعات را برای یک بایت دیگر ذخیره می کنیم.
جایگزینی کاراکترهای خاص
بیایید یک سناریوی واقعی را در نظر بگیریم. فرض کنید ما در حال ساخت یک برنامه وب هستیم و باید ورودی کاربر را پاکسازی کنیم تا از مشکلات مربوط به کاراکترهای خاص جلوگیری کنیم. این ممکن است به این دلیل باشد که می خواهید هر کاراکتر خاصی را از یک نام کاربری قبل از ذخیره آن در پایگاه داده حذف کنید.
در اینجا روش انجام این کار آمده است:
function sanitizeUsername(username) {
return username.replace(/(^a-zA-Z0-9)/g, '');
}
let username = 'user$name@_123';
username = sanitizeUsername(username);
console.log(username);
// Output: username123
در این مورد، ما از یک الگوی RegEx استفاده می کنیم (^a-zA-Z0-9)
برای مطابقت با هر کاراکتری که یک حرف یا عدد نیست. این ^
کاراکتر داخل پرانتز مربع تطابق را معکوس می کند، بنابراین ما به طور موثر هر چیزی را که هست جایگزین می کنیم نه یک حرف یا یک عدد بنابراین به جای مشخص کردن کاراکترهایی که میخواهیم حذف کنیم، فقط آنهایی را مشخص میکنیم که اجازه میدهیم.
نتیجه
جایگزینی چندین نوع کاراکتر در یک رشته یک کار رایج در جاوا اسکریپت است و کاری است که با replace()
روش و عبارات منظم خواه ورودی کاربر را پاکسازی کنید، متن را قالب بندی کنید یا دستکاری رشته های دیگر را انجام دهید، این ابزارها می توانند زندگی شما را بسیار آسان تر کنند.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-31 23:46:08