সাবস্ক্রিংগুলি replace()
প্রতিস্থাপনের জন্য জাভাস্ক্রিপ্টের স্ট্রিং অবজেক্টের পদ্ধতি রয়েছে। এই পদ্ধতিতে দুটি যুক্তি থাকতে পারে। প্রথম যুক্তি একটি স্ট্রিং বা একটি নিয়মিত প্রকাশের প্যাটার্ন (regExp অবজেক্ট) হতে পারে এবং দ্বিতীয় যুক্তিটি স্ট্রিং বা কোনও ফাংশন হতে পারে। replace()
উভয় স্ট্রিং আর্গুমেন্ট থাকার পদ্ধতির উদাহরণ নীচে দেখানো হয়েছে।
var text = 'one, two, three, one, five, one';
var new_text = text.replace('one', 'ten');
console.log(new_text) //ten, two, three, one, five, one
মনে রাখবেন যে প্রথম আর্গুমেন্টটি যদি স্ট্রিং হয় তবে উপরের উদাহরণের মতো কেবল প্রথম স্ট্রিংয়ের ঘটনাটি প্রতিস্থাপন করা হবে। স্ট্রিংয়ের সমস্ত উপস্থিতি প্রতিস্থাপন করতে আপনাকে একটি g
(গ্লোবাল) পতাকা সহ একটি নিয়মিত প্রকাশ করতে হবে । আপনি যদি বিশ্বব্যাপী পতাকাটি না সরবরাহ করেন তবে প্রথম যুক্তি হিসাবে আপনি নিয়মিত প্রকাশটি প্রদান করলেও কেবল স্ট্রিংয়ের প্রথম ঘটনাটি প্রতিস্থাপন করা হবে। সুতরাং one
উপরের উদাহরণে সমস্ত উপস্থিতি প্রতিস্থাপন করা যাক ।
var text = 'one, two, three, one, five, one';
var new_text = text.replace(/one/g, 'ten');
console.log(new_text) //ten, two, three, ten, five, ten
দ্রষ্টব্য যে আপনি নিয়মিত প্রকাশের প্যাটার্নগুলি কোটগুলিতে মুড়ে রাখছেন না যা এটি স্ট্রিংটিকে রেজিএক্সপ্স অবজেক্ট নয়। কেস সংবেদনশীল প্রতিস্থাপনের জন্য আপনাকে অতিরিক্ত পতাকা সরবরাহ করতে হবে i
যা প্যাটার্ন কেস-সংবেদনশীল করে তোলে। সেক্ষেত্রে উপরের নিয়মিত প্রকাশ হবে /one/gi
। লক্ষ্য করুনi
পতাকা এখানে এখনো যোগ করেনি।
যদি দ্বিতীয় আর্গুমেন্টের একটি ফাংশন থাকে এবং কোনও মিল থাকে তবে ফাংশনটি তিনটি আর্গুমেন্ট দিয়ে পাস করা হয়। আর্গুমেন্টটি ফাংশনটি হ'ল ম্যাচ, ম্যাচের অবস্থান এবং মূল পাঠ্য। সেই ম্যাচটি কী প্রতিস্থাপন করা উচিত তা আপনাকে ফিরিয়ে দিতে হবে। উদাহরণ স্বরূপ,
var text = 'one, two, three, one, five, one';
var new_text = text.replace(/one/g, function(match, pos, text){
return 'ten';
});
console.log(new_text) //ten, two, three, ten, five, ten
দ্বিতীয় আর্গুমেন্ট হিসাবে কোনও ফাংশন ব্যবহার করে প্রতিস্থাপন পাঠ্যের উপরে আপনার আরও নিয়ন্ত্রণ থাকতে পারে।
str_replace
করেনি যে পিএইচপি'র একই দৈর্ঘ্যের দুটি অ্যারে গ্রহণ করা হয়, যেখানে প্রথম অ্যারেতে প্রতিটি স্ট্রিং একই সূচীতে দ্বিতীয় অ্যারে স্ট্রিংয়ের সাথে প্রতিস্থাপিত হয়। আমি এখনও অবধি খুঁজে পাওয়া একমাত্র সঠিক ফাংশনের জন্য দয়া করে stackoverflow.com/a/5069776/296430 দেখুন যা জাভাস্ক্রিপ্টে এই সঠিক আচরণটিকে নকল করে।