উত্তর:
আপনার যদি নিয়মিত মত প্রকাশের প্রয়োজন হয় তবে ব্যবহার করুন search()। অন্যথায়, indexOf()দ্রুত হতে চলেছে।
searchআপনি না চাইলেও একটি স্ট্রিংকে একটি রেজিজেসে মূল্যায়ন করবে।
অনুসন্ধান ফাংশন ( এখানে একটি বিবরণ ) একটি নিয়মিত অভিব্যক্তি গ্রহণ করে, যা আপনাকে আরও পরিশীলিত প্যাটার্স, কেস-সংবেদনশীল স্ট্রিং ইত্যাদির সাথে মেলে তুলতে দেয়, যখন সূচিপত্র ( এখানে একটি বিবরণ ) কেবল একটি আক্ষরিক স্ট্রিংয়ের সাথে মেলে। তবে সূচিপত্রও আপনাকে একটি সূচনা সূচক নির্দিষ্ট করতে দেয়।
সূচিপত্র () - এটি স্ট্রিং লিটারেল বা স্ট্রিং অবজেক্ট গ্রহণ করে তবে নিয়মিত প্রকাশ হয় না । এটি থেকে অনুসন্ধান শুরু করার জন্য এটি শূন্য-ভিত্তিক পূর্ণসংখ্যার মানও গ্রহণ করে, যেমন:
অনুসন্ধান () - উভয় স্ট্রিং লিটারেল বা স্ট্রিং অবজেক্ট এবং নিয়মিত এক্সপ্রেশন গ্রহণ করে। তবে অনুসন্ধানটি শুরু করার জন্য এটি কোনও সূচি গ্রহণ করে না।
"baby/e/lephant".indexOf(m);?
সূচিপত্র () এবং অনুসন্ধান ()
উভয় মধ্যে সাধারণ
i) অনুসন্ধান করা মানের প্রথম ঘটনাটি ফিরিয়ে দিন
ii) কোনও মিল না পেলে ফিরুন -1
let str='Book is booked for delivery'
str.indexOf('b') // returns position 8
str.search('b') // returns position 8 ইনডেক্সে বিশেষ ()
i) আপনি দ্বিতীয় যুক্তি হিসাবে অনুসন্ধানের সূচনা দিতে পারেন
str.indexOf('k') // 3
str.indexOf('k',4) // 11 (it start search from 4th position) অনুসন্ধান মান নিয়মিত প্রকাশ হতে পারে
str.search('book') // 8
str.search(/book/i) // 0 ( /i =case-insensitive (Book == book)
অনুসন্ধান এটি নিয়মিত প্রকাশের সাথে মিলে যায় তবে এর কোনও অফসেট নেই। সূচকগুলি ম্যাচের জন্য আক্ষরিক ব্যবহার করে তবে এটি অফসেটে রয়েছে।
একটি রেজেক্স ব্যতীত , সূচিপত্র ও অনুসন্ধানের মধ্যে ব্যবহারিক পার্থক্য নেই ।
নীচের উদাহরণটি একটি লাইভ ডেমো দেয় :
function FromSearch() {
var str = document.getElementById("demo").innerText;
var n = str.search("difference");
document.getElementById("Location").innerHTML = n;
}
function FromindexOf() {
var str = document.getElementById("demo").innerText;
var n = str.indexOf("difference");
document.getElementById("Location").innerHTML = n;
}
<p id="demo">Without a <a href='http://www.w3schools.com/js/js_regexp.asp'>regex</a>, there is no practical difference between <a href='http://www.w3schools.com/jsref/jsref_indexof.asp'>indexOf</a> and <a href='http://www.w3schools.com/jsref/jsref_search.asp'>search</a>
</p>
<button onclick="FromSearch()">From search</button>
<button onclick="FromindexOf()">From indexOf</button>
<p>Location of difference in the above sentence is:</p>
<mark id="Location"></mark>
searchএকটি স্ট্রিংকে একটিতে রূপান্তরিত করে RegExp, উদাহরণস্বরূপ, str.search("d........e");39 অক্ষরটিও মিলবে