জাভাস্ক্রিপ্টে স্ট্রিং প্রতিস্থাপন
একটি স্ট্রিং এর মধ্যে একটি সাবস্ট্রিং এর সমস্ত ঘটনা প্রতিস্থাপন করা জাভাস্ক্রিপ্টে একটি সাধারণ কাজ। স্ট্রিংগুলির সাথে কাজ করার সময়, আপনি খুঁজে পেতে পারেন ডিফল্ট প্রতিস্থাপন পদ্ধতিটি শুধুমাত্র নির্দিষ্ট সাবস্ট্রিংটির প্রথম ঘটনাটিকে প্রতিস্থাপন করে।
সমস্ত দৃষ্টান্ত দক্ষতার সাথে প্রতিস্থাপন করতে, জাভাস্ক্রিপ্ট বিভিন্ন পদ্ধতি এবং কৌশল অফার করে। এই নিবন্ধটি এই পদ্ধতিগুলি অন্বেষণ করবে, উদাহরণ এবং ব্যাখ্যা প্রদান করবে যা আপনাকে বুঝতে এবং আপনার প্রকল্পগুলিতে প্রয়োগ করতে সহায়তা করবে।
আদেশ | বর্ণনা |
---|---|
replace() | একটি নির্দিষ্ট মান প্রতিস্থাপন করতে ব্যবহৃত একটি পদ্ধতি একটি স্ট্রিং-এ অন্য মান দিয়ে। এটি একটি regex বা একটি সাবস্ট্রিং গ্রহণ করতে পারে। |
/abc/g | সাবস্ট্রিং "abc" এর সমস্ত ঘটনার সাথে মেলে বিশ্ব পতাকার সাথে একটি নিয়মিত অভিব্যক্তি। |
split() | একটি পদ্ধতি যা একটি নির্দিষ্ট বিভাজক ব্যবহার করে সাবস্ট্রিংগুলির একটি অ্যারেতে একটি স্ট্রিংকে বিভক্ত করে। |
join() | একটি পদ্ধতি যা একটি নির্দিষ্ট বিভাজক ব্যবহার করে একটি অ্যারের উপাদানগুলিকে একটি একক স্ট্রিংয়ে যোগ করে। |
includes() | একটি পদ্ধতি যা নির্ধারণ করে যে একটি স্ট্রিংটিতে একটি নির্দিষ্ট সাবস্ট্রিং আছে কিনা, সত্য বা মিথ্যা ফেরত দেয়। |
while() | একটি লুপ যা একটি নির্দিষ্ট শর্ত সত্য হওয়া পর্যন্ত কোডের একটি ব্লক কার্যকর করে। |
জাভাস্ক্রিপ্টে একটি সাবস্ট্রিংয়ের সমস্ত উদাহরণ প্রতিস্থাপন করা হচ্ছে
প্রদত্ত স্ক্রিপ্টগুলি জাভাস্ক্রিপ্টের একটি স্ট্রিংয়ের মধ্যে একটি সাবস্ট্রিং এর সমস্ত ঘটনা প্রতিস্থাপনের জন্য তিনটি ভিন্ন পদ্ধতি প্রদর্শন করে। প্রথম পদ্ধতিটি এর সাথে একটি নিয়মিত অভিব্যক্তি ব্যবহার করে replace() পদ্ধতি, নিয়োগ /abc/g বিশ্বব্যাপী "abc"-এর সমস্ত দৃষ্টান্ত প্রতিস্থাপিত হয়েছে তা নিশ্চিত করার জন্য প্যাটার্ন। এই পদ্ধতিটি দক্ষ এবং সংক্ষিপ্ত, কোডের একক লাইনে প্রতিস্থাপন পরিচালনা করার জন্য নিয়মিত এক্সপ্রেশনের শক্তির ব্যবহার করে।
দ্বিতীয় স্ক্রিপ্ট এর সমন্বয় ব্যবহার করে split() এবং join() পদ্ধতি সাবস্ট্রিং-এর প্রতিটি ঘটনার সময়ে স্ট্রিংকে বিভক্ত করে এবং তারপর সাবস্ট্রিং ছাড়াই অ্যারেকে আবার একটি স্ট্রিংয়ে যোগ করে, এটি কার্যকরভাবে "abc"-এর সমস্ত উদাহরণ সরিয়ে দেয়। তৃতীয় স্ক্রিপ্ট একটি ব্যবহার করে while() সঙ্গে মিলিত লুপ includes() পদ্ধতি এই লুপটি সাবস্ট্রিং-এর প্রথম ঘটনাটিকে প্রতিস্থাপন করতে থাকে যতক্ষণ না আর কোন দৃষ্টান্ত পাওয়া না যায়, নিশ্চিত করে যে সমস্ত ঘটনাগুলি সরানো হয়েছে।
জাভাস্ক্রিপ্টে সমস্ত ঘটনা প্রতিস্থাপন করতে নিয়মিত এক্সপ্রেশন ব্যবহার করা
নিয়মিত এক্সপ্রেশন সহ জাভাস্ক্রিপ্ট
// Using Regular Expressions to Replace All Occurrences of a Substring
let string = "Test abc test test abc test test test abc test test abc";
// Use the global flag (g) to replace all instances
string = string.replace(/abc/g, '');
console.log(string);
// Output: "Test test test test test test test test "
বিভক্ত এবং যোগদান পদ্ধতির সাথে সমস্ত ঘটনা প্রতিস্থাপন করা
স্প্লিট এবং জয়েন সহ জাভাস্ক্রিপ্ট
// Using Split and Join to Replace All Occurrences of a Substring
let string = "Test abc test test abc test test test abc test test abc";
// Split the string by the substring and join with an empty string
string = string.split('abc').join('');
console.log(string);
// Output: "Test test test test test test test test "
সমস্ত ঘটনা প্রতিস্থাপন করার জন্য একটি লুপ ব্যবহার করা
একটি সময় লুপ সহ জাভাস্ক্রিপ্ট
// Using a While Loop to Replace All Occurrences of a Substring
let string = "Test abc test test abc test test test abc test test abc";
while(string.includes('abc')) {
string = string.replace('abc', '');
}
console.log(string);
// Output: "Test test test test test test test test "
জাভাস্ক্রিপ্টে উন্নত স্ট্রিং ম্যানিপুলেশন কৌশল
জাভাস্ক্রিপ্টে স্ট্রিং ম্যানিপুলেশনের আরেকটি দিক হল এর ব্যবহার replaceAll() পদ্ধতি, যা ES2021 এ চালু করা হয়েছিল। এই পদ্ধতিটি রেগুলার এক্সপ্রেশনের প্রয়োজন ছাড়াই একটি সাবস্ট্রিং এর সমস্ত ঘটনা প্রতিস্থাপন করার একটি সহজ উপায় প্রদান করে। অপছন্দ replace(), যা শুধুমাত্র প্রথম ঘটনাটিকে প্রতিস্থাপন করে যদি না একটি বিশ্বব্যাপী নিয়মিত অভিব্যক্তি ব্যবহার করা হয়, replaceAll() সরাসরি সমস্ত ঘটনা প্রতিস্থাপন করে। এই পদ্ধতিটি কোডকে সহজ করে এবং পঠনযোগ্যতা উন্নত করে, বিশেষ করে ডেভেলপারদের জন্য যারা নিয়মিত অভিব্যক্তিতে স্বাচ্ছন্দ্য বোধ করেন না।
অতিরিক্তভাবে, জাভাস্ক্রিপ্টের টেমপ্লেট লিটারালগুলিও গতিশীল স্ট্রিং প্রতিস্থাপনের জন্য ব্যবহার করা যেতে পারে। ব্যাকটিক্স (`) ব্যবহার করে, আপনি একটি স্ট্রিংয়ের মধ্যে এক্সপ্রেশন এম্বেড করতে পারেন। যদিও এটি সরাসরি সাবস্ট্রিংগুলিকে প্রতিস্থাপন করে না, এটি ভেরিয়েবলের সাথে স্ট্রিংগুলি তৈরি করার একটি নমনীয় উপায় প্রদান করে, যা আরও জটিল পরিস্থিতিতে কার্যকর হতে পারে যেখানে একাধিক প্রতিস্থাপন বা গতিশীল বিষয়বস্তুর প্রয়োজন হয়।
জাভাস্ক্রিপ্টে স্ট্রিং প্রতিস্থাপন সম্পর্কে সাধারণ প্রশ্ন
- কিভাবে করে replace() জাভাস্ক্রিপ্টে কাজ করেন?
- replace() একটি স্ট্রিং এ একটি সাবস্ট্রিং বা প্যাটার্নের প্রথম উপস্থিতি প্রতিস্থাপন করে। বিশ্বব্যাপী প্রতিস্থাপনের জন্য, গ্লোবাল পতাকার সাথে রেগুলার এক্সপ্রেশন ব্যবহার করুন।
- এর উদ্দেশ্য কি global flag (g) নিয়মিত অভিব্যক্তিতে?
- দ্য global flag (g) নিশ্চিত করে যে প্যাটার্নের সমস্ত ঘটনা প্রতিস্থাপন করা হয়েছে, শুধুমাত্র প্রথমটি নয়।
- কীভাবে split() এবং join() পদ্ধতিগুলি সাবস্ট্রিংগুলি প্রতিস্থাপন করতে সহায়তা করে?
- ব্যবহার split() স্ট্রিংটিকে সাবস্ট্রিং দ্বারা একটি অ্যারেতে ভাগ করতে এবং join() সাবস্ট্রিং ছাড়াই অ্যারেকে সংযুক্ত করতে সাবস্ট্রিং-এর সমস্ত দৃষ্টান্তকে কার্যকরভাবে সরিয়ে দেয়।
- পারেন replaceAll() পদ্ধতি সব ব্রাউজারে ব্যবহার করা হবে?
- দ্য replaceAll() পদ্ধতিটি বেশিরভাগ আধুনিক ব্রাউজারে সমর্থিত কারণ এটি ES2021 এ চালু করা হয়েছিল। যাইহোক, পুরানো ব্রাউজারগুলি এটি সমর্থন নাও করতে পারে।
- পার্থক্য কি replace() এবং replaceAll()?
- replace() প্রথম ম্যাচ প্রতিস্থাপন করে, যেখানে replaceAll() নির্দিষ্ট সাবস্ট্রিং এর সমস্ত ঘটনা প্রতিস্থাপন করে।
- কিভাবে একটি while একটি সাবস্ট্রিং এর সমস্ত ঘটনা প্রতিস্থাপনে লুপ সাহায্য?
- ক while লুপ বারবার কার্যকর করে replace() যতক্ষণ না সাবস্ট্রিং এর সমস্ত দৃষ্টান্ত মুছে ফেলা হয়।
- এটা কি বিশ্বব্যাপী প্রতিস্থাপনের জন্য নিয়মিত এক্সপ্রেশন ব্যবহার করা প্রয়োজন?
- না, এর পরিচয় দিয়ে replaceAll(), আপনি রেগুলার এক্সপ্রেশন ব্যবহার না করেই সমস্ত ঘটনা প্রতিস্থাপন করতে পারেন।
- টেমপ্লেট আক্ষরিক কি এবং কিভাবে তারা দরকারী?
- টেমপ্লেট লিটারাল, ব্যাকটিক্স (`) এ আবদ্ধ, একটি স্ট্রিং এর মধ্যে এক্সপ্রেশন এম্বেড করার অনুমতি দেয়, গতিশীল স্ট্রিং নির্মাণের জন্য নমনীয়তা প্রদান করে।
টেকনিক আপ মোড়ানো
জাভাস্ক্রিপ্টে একটি সাবস্ট্রিং এর সমস্ত ঘটনা কার্যকরভাবে প্রতিস্থাপন করার জন্য বিভিন্ন পদ্ধতি এবং তাদের অ্যাপ্লিকেশন বোঝার প্রয়োজন। রেগুলার এক্সপ্রেশন থেকে আধুনিক replaceAll() পদ্ধতি, প্রতিটি পদ্ধতির তার শক্তি এবং ব্যবহারের ক্ষেত্রে রয়েছে। এই কৌশলগুলি আয়ত্ত করে, বিকাশকারীরা স্ট্রিং ম্যানিপুলেশনগুলি আরও দক্ষতার সাথে পরিচালনা করতে পারে এবং ক্লিনার, আরও রক্ষণাবেক্ষণযোগ্য কোড লিখতে পারে।
রেগুলার এক্সপ্রেশন, স্প্লিট এবং জয়েন পদ্ধতি বা লুপ ব্যবহার করা হোক না কেন, এই পদ্ধতিগুলি কখন এবং কীভাবে প্রয়োগ করতে হবে তা জানা অত্যন্ত গুরুত্বপূর্ণ। এর ভূমিকা replaceAll() এটি জাভাস্ক্রিপ্টের স্ট্রিং হ্যান্ডলিং ক্ষমতার একটি মূল্যবান সংযোজন করে অনেক পরিস্থিতিকে সরল করে। এই সরঞ্জামগুলিকে আপনার নিষ্পত্তিতে রাখা নিশ্চিত করে যে আপনি আত্মবিশ্বাসের সাথে যে কোনও স্ট্রিং প্রতিস্থাপনের কাজ মোকাবেলা করতে পারেন।