تابع جایگزین کردن کاراکتر ها

تابع جایگزین کردن کاراکتر ها

هر چی فکر کردم عنوانی بهتر از این به ذهنم نرسید . همه با این تابع آشنا هستید کمی صبر کنید توضیح بدهم متوجه می شوید چه تابعی را می گویم . تابع replace که در اکثر زبان های برنامه نویسی با عناوین مختلف وجود دارد ، یک کاراکتر را دریافت می کند سپس آن را در رشته مورد نظر جستجو کرده و با مقدار دلخواه ما جایگزین می کند . به مثال زیر توجه کنید :

var str = "Visit Snip!";
var res = str.replace("Snip", "snippets.ir");

 خط اول متغیر str را با مقدار “Visit Snip!” تعریف می کند . در خط دوم با استفاده از متد replace ، عبارت snip را جستجو کرده و بجای آن مقدار snippets.ir را قرار می دهد و نتیجه را در متغیر res بازتاب می کند . یعنی در پایان رشته ما بصورت زیر می شود :

Visit snippets.ir!

خب تا اینجا که چیز جدید یاد نگرفتیم ! فقط اینجا یک مساله وجود داره ! اینکه در حالت عادی این تابع فقط اولین کاراکتر را جایگزین می کند . به مثال زیر توجه کنید :

var str = "Visit Snip! snip is Good!";
var res = str.replace("Snip", "snippets.ir");
alert(res);

نتیجه ای که می بینید با آن چیزی که انتظار داشتید فرق می کند . نتیجه Visit snippets.ir! snip is Good! هست نه Visit snippets.ir! snippets.ir is Good!

برای حل این مساله بصورت زیر اقدام کنید :

var str = "Visit Snip! snip is Good!";
var res = str.replace(/snip/gi, "snippets.ir");
alert(res);

آیا اکنون به نتیجه دلخواهتان رسیدید؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.