উত্তর:
নিম্নলিখিতগুলি কেবল একটি ঘটনাকে প্রতিস্থাপন করবে:
"string".replace('/', 'ForwardSlash');
বিশ্বব্যাপী প্রতিস্থাপনের জন্য, বা আপনি যদি নিয়মিত মত প্রকাশের পছন্দ করেন তবে আপনাকে কেবল স্ল্যাশ থেকে বাঁচতে হবে:
"string".replace(/\//g, 'ForwardSlash');
"string".replace('/', 'ForwardSlash', 'g')তবে এটি অ-মানক যুক্তি যা কেবল ফায়ারফক্স আফাইকেই কাজ করে।
"string".replace(/\//g, 'ForwardSlash');কাজ করে তবে এ থেকে / গ্রাম অপসারণ করে এটি কার্যকর হয় না।
/। ছ ছাড়া এটি কেবল একটি উদাহরণ প্রতিস্থাপন করে। এবং যদি আপনি অপসারণ করেন তবে আপনি /gসর্বশেষে / শেষের ডিলিমিটারের থেকে পুরোপুরি রেজেক্স ভেঙে দিন।
রেজেক্স ব্যবহার না করেই (যদিও আমি কেবল এটি তখনই করতাম যদি অনুসন্ধানের স্ট্রিংটি ব্যবহারকারী ইনপুট হয়):
var str = 'Hello/ world/ this has two slashes!';
alert(str.split('/').join(',')); // alerts 'Hello, world, this has two slashes!'
এই কমান্ডের সাহায্যে আপনি চান কি?
'string with / in it'.replace(/\//g, '\\');
var str = '/questions'; // input: "/questions"
while(str.indexOf('/') != -1){
str = str.replace('/', 'http://stackoverflow.com/');
}
alert(str); // output: "http://stackoverflow.com/questions"
প্রস্তাবিত রেজেক্স /\//gআমার পক্ষে কাজ করেনি; বাকী রেখাটি ( //g, replacement);) মন্তব্য করা হয়েছিল।
এটি ক্রিস্টোফার লিংকনসের ধারণা তবে সঠিক কোড সহ:
function replace(str,find,replace){
if (find != ""){
str = str.toString();
var aStr = str.split(find);
for(var i = 0; i < aStr.length; i++) {
if (i > 0){
str = str + replace + aStr[i];
}else{
str = aStr[i];
}
}
}
return str;
}
ব্যবহারের উদাহরণ:
var somevariable = replace('//\\\/\/sdfas/\/\/\\\////','\/sdf','replacethis\');
জাভাস্ক্রিপ্ট গ্লোবাল স্ট্রিং প্রতিস্থাপন অসাধারণভাবে জটিল। এই ফাংশনটি সমস্যার সমাধান করে। একটি ছোট পারফরম্যান্স প্রভাব সম্ভবত আছে, তবে আমি নিশ্চিত এটির তুচ্ছ।
তিনি এখানে একটি বিকল্প ফাংশন দেখতে অনেকটা পরিষ্কার দেখেন তবে উপরের ফাংশনটির তুলনায় গড়ে প্রায় 25 থেকে 20 শতাংশ ধীর হয়ে থাকে:
function replace(str,find,replace){
if (find !== ""){
str = str.toString().split(find).join(replace);
}
return str;
}