جایگزین کردن استرینگ در RegEx


در برخی مواقع خاص نیاز داریم تا بر اساس الگویی خاص بخشی از یک استرینگ را با علائمی دیگر جایگزین کنیم. به طور مثال، در ادامه می‌بینیم که به چه شکل می‌توان کلمهٔ نامناسب را جایگزین کرد:

var string = "it`s a piece of shit.";
var regex = /shit/;
string.replace(regex, 'xxx');

همان‌طور که ملاحظه می‌شود، با استفاده از تابع ()replace در زبان برنامه‌نویسی جاوااسکریپت دستور داده‌ایم تا کلمهٔ shit با حروف xxx جایگزین گردد. به عنوان مثالی دیگر نیز خواهیم داشت:

var string = "academy sokan";
var regex = /(\w+)\s(\w+)/;
string.replace(regex, '$2 $1');

در مثال فوق، ساختار (+w\) یک اصطلاحاً گروه است و 1$ به اولین گروه اشاره دارد و 2$ به دومین گروه الی آخر. همان‌طور که به وضوح مشخص است، دستور داده‌ایم تا گروه دوم جایش با گروه اول عوض شود به طوری که خروجی اسکریپت فوق sokan academy خواهد بود.

همچنین با استفاده از فانکشن ()replace می‌توان هر گونه اِسپیسی را نیز از داخل یک استرینگ حذف نمود به طوری که برای مثال داریم:

var string = "     Hello World ";
var regex = /^\s*|\s*$/g;
string.replace(regex, '');

در تفسیر کدهای فوق می‌توان گفت در الگویی که نوشته‌ایم علامت | که تحت عنوان Pipe Sign شناخته می‌شود به معنی «یا» است؛ به عبارتی، گفته‌ایم اگر به هر تعداد اِسپیس در ابتدای استرینگ موجود بود یا به هر تعداد اسپیس در انتهای اِسترینگ قرار داشت، آن‌ها را با استرینگ خالی '' جایگزین کند به طوری که خروجی اسکریپت فوق استرینگ Hello World است که اطرافش هیچ گونه اِسپیسی وجود نخواهد داشت.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان