জাভাস্ক্রিপ্টে স্ট্রিং (String) হচ্ছে কিছু অক্ষরের সমষ্টি। যেমন "Hello codestrickz" বা 'How many tutorials you have' এগুলি হচ্ছে স্ট্রিং। ডাবল বা সিঙ্গেল কোটেশনের ভিতরে কিছু রাখলেই সেটা স্ট্রিং হিসেবে গন্য হয়। এমনকি '15' এটাও একটা স্ট্রিং। স্ট্রিং এ সিঙ্গেল না ডাবল কোটেশন দিবেন এটা নিজের ইচ্ছা। দুটি স্ট্রিং যেমন
1.var x = 'Hello codestrickz';2.var y = 'How many tutorials you have';** এভাবে তৈরী না করে স্ট্রিং অবজেক্ট ব্যবহার করেও তৈরী করা যায়, new কিওয়ার্ড দিয়ে যেমন
1.var x = new String('Hello codestrickz');তবে এভাবে কাজ করা হয়না। সাধারনত উপরের উদাহরনের মত করেই স্ট্রিং তৈরী করা হয়।
স্ট্রিং তৈরীর সময় যদি ভিতরে কোন কারনে পূনরায় কোটেশন দিতে হয় তাহলে সেটা এসকেপ (escape) করতে হবে যেমন
1.var z = 'codestrickz\'s tutorials are awesome such as "OOP" tutorials';2.// if use double quotation3.var z = "codestrickz's tutorials are awesome such as \"OOP\" tutorials";** ব্যাকস্ল্যাশ (\) দিয়ে কোটেশন এসকেপ করতে হয়। শুধু কোটেশনের সামনে ব্যাকস্ল্যাশ দিলেই হয়।
** যদি পুরো স্ট্রিং সিঙ্গেল কোটেশনের ভিতর রাখেন তাহলে ভিতরে ডাবল কোটেশন রাখতে পারেন, কাজ হবে তবে সিঙ্গেল কোটেশনের ভিতর সিঙ্গেল কোটেশন দিলে এসকেপ করতে হবে। তদ্রুপ ডাবল কোটেশনের ভিতর সিঙ্গেল কোটেশন দিলে এসকেপ করতে হবেনা কিন্তু ডাবল কোটেশন দিলে এসকেপ করতে হবে যেমন আমি শেষ লাইনে করেছি।
যাইহোক স্ট্রিং নিয়ে কাজ করার জন্য জাভাস্ক্রিপ্টে প্রচুর ফাংশন এবং প্রোপার্টিজ আছে, যেমন .length দিয়ে স্ট্রিং এর দৈর্ঘ্য বের করা যায়।
1.var x = 'Hello codestrickz';2.document.write(x.length);দেখুন আউটপুট ১৬ দেখাবে, ফাকা স্পেসও একটা অক্ষর বা ক্যারেক্টার ধরে। যে স্ট্রিং এর দৈর্ঘ্য দেখতে চান সেটার পর ডট (.) দিয়ে length দিলে আউটপুট দেখতে পাবেন।
কিছু মেথড
=============
charAt(index) : স্ট্রিং থেকে নির্দিষ্ট একটা অক্ষর নেয়া যায়। index প্যারামিটারে যে সংখ্যা দিবেন সেই সংখ্যা যে অক্ষরের ইনডেক্স সেটা রিটার্ন করবে। ০ থেকে প্রথম অক্ষরের ইনডেক্স শুরু।
indexOf(string, start) : স্ট্রিং খোজার জন্য। string প্যারামিটারে যে শব্দ বা স্ট্রিংটির ইনডেক্স দিতে চান সেটা দিলে পুরো স্ট্রিংয়ে ঐ শব্দটির অবস্থান কত নম্বর ইনডেক্সে সেটা বের করবে আর start প্যারামিটারটি ঐচ্ছিক। যদি এটা দেন (পূর্নসংখ্যা) তাহলে ঐ সংখ্যা যার ইনডেক্স হবে সেখান থেকে খোজা শুরু করবে। যেমন ৫ দিলে ৫ নম্বর ইনডেক্সধারী এলিমেন্ট থেকে খোজা শুরু হবে।
lastIndexOf(string, start) : পিছন দিক থেকে স্ট্রিং খোজার জন্য। ধরুন একটা স্ট্রিংয়ে ১০ টি "e" আছে এখন আপনি চান সর্বশেষ "e" টা কত নম্বর ইনডেক্সে আছে সেটা দেখবেন তখন এই মেথড ব্যবহার করতে পারেন। string প্যারামিটারে যেটা খুজবেন সেটা এবং start (এটা না দিলে ০ ইনডেক্সধারী এলিমেন্ট থেকে খোজা শুরু করবে) প্যারামিটারে কত নম্বর ইনডেক্স থেকে খোজা শুরু করবেন সেটা।
split(delimiter, limit) : স্ট্রিং থেকে অ্যারে বানানোর জন্য। dilimiter হচ্ছে পুরো স্ট্রিংয়ের শব্দগুলি কি দিয়ে জুড়ানো যেমন কমা (,) দিয়ে হতে পারে, সাধারনত স্পেস দিয়ে থাকে। তো dilimiter এ জায়গায় হতে পারে ' ' আর limit (ঐচ্ছিক) দিয়ে ঠিক করা যায় যে কতগুলি শব্দ নিবেন।
substr(start, length) : স্ট্রিং থেকে একটা অংশ/সাবস্ট্রিং বের করার জন্য। start হল কত নম্বর স্ট্রিং পজিশন থেকে খোজা শুরু করবে আর length হচ্ছে কয়টি ক্যারেক্টার/অক্ষর নিবে।
substring(start, end) : স্ট্রিং থেকে একটা অংশ/সাবস্ট্রিং বের করার জন্য। substr() এর সাথে পার্থক্য হচ্ছে ২য় প্যারামিটার নিয়ে। এই মেথড start (পূর্নসংখ্যা) থেকে শুরু করে end (পূর্নসংখ্যা) এর আগ পর্যন্ত ক্যারেক্টার নিয়ে সেটা রিটার্ন করবে।
slice(start, end) : স্ট্রিং থেকে সাবস্ট্রিং বের করার জন্য। start এ দিতে হবে পূর্নসংখ্যা যেটা দিয়ে ঠিক হবে কোথা থেকে শুরু হবে আর end দিতে হবে আরেকটি পূর্ন সংখ্যা কোথা পর্যন্ত নিবে।
replace(regex, replacetext) : স্ট্রিং এর কোন অংশ রিপ্লেস বা প্রতিস্থাপন করার জন্য। কোন অংশ রিপ্লেস করবেন সেটার রেগুলার একসপ্রেশন regex প্যারামিটারে আর replacetext এ দিবেন যে স্ট্রিংয়ে রিপ্লেসমেন্ট করতে চান।
search(regex) : স্ট্রিংয়ে খোজ করার জন্য। কোন অংশ খুজবেন সেটা ঠিক করতে হবে regex তথা রেগুলার এক্সপ্রেশন দিয়ে। খুজে পেলে পজিশন রিটার্ন করবে (প্রথমটির) না পেলে -1 রিটার্ন করে। regex এর জায়াগায় কোন নির্দিষ্ট স্ট্রিং দিতে পারেন।
match(regex) : এটাও স্ট্রিং খোজার জন্য তবে এখানে শুধু রেগুলার এক্সপ্রেশন দেয়া হয়। যদি মিল পায় তাহলে মানগুলি অ্যারে অবজেক্ট আকারে রিটার্ন করবে আর না পেলে null রিটার্ন করবে।


