Skip to main content

Command Palette

Search for a command to run...

String and its uses in Bengali JavaScript Series ⇾ Chapter Five

string literal and construction, escape Notation, string method, length of string

Updated
6 min read
String and its uses in Bengali JavaScript Series ⇾ Chapter Five
H

♗ Love To Play With → JavaScript & NodeJS.

✢ Interested → Web & Backend Development.

↯ Current Stack → MERN Stack

এর পূর্বে আমরা স্ট্রিং সম্পর্কে জেনেছিলাম ।কিন্তু এই পর্বে আর ভালোভাবে জানব স্ট্রিং সম্পর্কে ।রিয়েল টাইম প্রজেক্ট গুলোতে স্ট্রিং এর ব্যবহার হয় প্রচুর ।তাই এর গুরুত্ব অসামান্য ।বিষধ ভাবে স্ট্রিং কে বুজতে চাপ্টারটি তোমাকে খুব হেল্প করতে যাচ্ছে ।

037. What is String :

জাভাস্ক্রিপ্ট এর মত higherlavel ল্যাঙ্গুয়েজে কোন টেক্সট কে সিঙ্গেল কোট 'text of single quotation' অথবা "text of double quotation "ডাবল কোটেশন এর মধ্যে wrap রাখলেই আমরা তাকে স্ট্রিং বলব ।তুমি চাইলে সিঙ্গেল কোটেশন অথবা ডাবল কোটেশন ব্যবহার করতে পার স্ট্রিং ডিক্লারেশনে । তবে বেশিরভাগ জাভাস্ক্রিপ্ট ডেভেলপার সিঙ্গেল কোটেশন ব্যবহার করতে সাচ্ছন্দ বোধ করে ।

038. String Literal vs Constructor :

আমরা সিঙ্গেল কোটেশন অথবা ডাবল কোটেশন এর ভিতরে স্ট্রিং ডিক্লের করতে পারি এবং তা ভ্যারিয়েবল এ assign করতে পারি । এই সিস্টেম এ স্ট্রিং রাখাকে বলাহয় স্ট্রিং literal ।

var str = `something`
var str = "Something"

এছাড়াও আমরা স্ট্রিং কন্সট্রাক্টর ব্যবহার করেও স্ট্রিং এসাইন করতে পারি ।

 var str = String("Something")

তোমার প্রশ্ন হতে পারে আমরা কোনো স্ট্রিং কন্সট্রাক্টর ব্যবহার করব যেখানে স্ট্রিং literal ব্যবহার করা সহজ ।

ধর তুমি একটা ভ্যারিয়েবল এ নম্বর assign করলে ।কিন্তু সেটাকে another ভ্যারিয়েবল এ রেখে স্ট্রিং আউটপুট চাচ্ছ সেক্ষেত্রে কন্সট্রাক্টর ব্যবহার করাটাই ভাল।তুমি চাইলে n.toString() বা var str = n + " " ব্যাবহার করতে পার ।তবে কন্সট্রাক্টর ব্যবহার করাটা safe ।

আমরা String(n) ব্যবহার করে যে কোন ডাটা টাইপ কে স্ট্রিং এ কনভার্ট করতে পারি ।

var n = 10

var str = String(n)

console.log(str)

039. What is Escape Notation:

ধর তোমার এমন কিছু ক্যারেক্টর লেখার দরকার হল স্ট্রিং এর মধ্যে যেখানে "this is a 'string' in single cod " ডাবল কোটেশন এর মধ্যে সিঙ্গেল কোটেশন ব্যবহার করতে হবে ।কিন্তু তুমি যদি ডাবল কোটের মধ্যে সিঙ্গেল কোট লিখতে চাও জাভাস্ক্রিপ্ট কম্পাইলের এরর জেনারেট করবে । ঠিক সেই প্রব্লেম থেকে বাঁচার জন্য আমরা \ এস্কেপ ক্যারেক্টর বা নোটেশন গুলো ব্যাবহার করব ।

যেমন :

var str = "this is a \'string\' "

আবার ধর সিঙ্গেল লাইন কিন্তু তুমি চাচ্ছ তোমার সিঙ্গেল লাইন কে ভেঙে ২টা লাইন করব তখন \n ব্যবহার করতে পার ।

var str = "Single line broken by \n2 lines";

Screenshot from 2022-08-17 00-50-15.png

Escape Annotation Resource থেকে দেখে নিতে পার ।

040. How to Compare Two String :

এই সেক্শনে আমরা আলোচনা করব কিভাবে আমরা দুইটা স্ট্রিং কে তুলনা করতে পারি ।আমাদের রিয়েল লাইফ প্রজেক্ট এ অনেক সময়ে স্ট্রিং গুলোকে কম্পার করার দরকার হয় ।দুইটা নাম্বার compare করা সহজ আমরা বুজতে পারি দেখে কিন্তু দুইটা স্ট্রিং কে compare করতে গেলে জাভাস্ক্রিপ্ট যে সিস্টেম ফলো করে তাকে বলাহয় lexicograpic ।স্ট্রিং compare এর ক্ষেত্রে laxical order নামে একটা অর্ডার মেইনটেইন করাহয় ।এই laxicalgraphic order এ প্রথমে small latter গুলোকে সাজান হয়।সেক্ষেত্রে সব থেকে বড় লেটার হিসেবে ধরা হয় z,y,x,......b,a এর পরে আসেZ,Y,X.....B,A` এভাবে অর্ডার মেইনটেইন করে compare করে লেটার গুলোকে ।এবং compare করে বুলিয়ান ভ্যালু রিটার্ন করে ।

var a = "adc";

var b = "cdc";

var aLessB = a < b;

var aGraterB = a > b;

var aEqualB = a === b;

console.log("a less B " , aLessB);

console.log("a grater B " , aGraterB);

console.log("a Equal B " , aEqualB);

আউটপুট আসবে :

Screenshot from 2022-08-17 09-23-09.png

041. String Methods Provided by Javascript :

আমরা এর আগে Math মেথড দেখেছি যেগুলো জাভাস্ক্রিপ্ট আমাদের provide করে থাকে ।এই মেথড বা ফাঙ্কশন গুলোর সাহায্যে আমরা খুব সহজে কাজ করতে পারি ।ঠিক তেমনি জাভাস্ক্রিপ্ট এ string এর জন্য কিছু মেথড provide করে থাকে ।এই সেকশন এ আমরা সেগুলো সম্পর্কে জানারচেষ্টা করব ।

Concat :

তুমি এর আগে যখন দুইটা স্ট্রিং কে যোগ বা join করেছ তখন + sign ব্যবহার করে করেছ কিন্তু জাভাস্ক্রিপ্ট আমাদের স্ট্রিং join করতে concat নাম মেথড provide করে থাকে ।

ধর আমাদের দুইটা ভেরিএবল আছে var a = "This Is " and var b= "Tanvir mehedi" আমরা এই দুইটা ভ্যারিয়েবল এর স্ট্রিং গুলোকে একসাথে প্রিন্ট করতেচাই ।কি করব ।

পুরাতন নিয়মে :

  var a = "This Is "

  var b= "Tanvir mehedi"

  console.log(a + b)

Screenshot from 2022-08-18 00-32-02.png

মেথড ব্যবহার করে :

var a = "This Is ";

var b = "Tanvir mehedi";

console.log(a.concat(b));

একই আউটপুট দিচ্ছে ।কিন্তু এবারে আমরা concat নামে স্ট্রিং মেথড ব্যবহার করেছি ।

substring :

আমরা চাচ্ছি কোন একটা স্ট্রিং থেকে কিছু সংখক ওয়ার্ড নিব substring মেথড ব্যবহার করে আমরা তা করতে পারি । আর substring মেথড স্ট্রিং এর টেক্সট গিলকে 0 থেকে কাউন্ট করে ।

var b = "Tanvir mehedi";

এখানে b ভ্যারিয়েবল এর T এর ইনডেক্স ০ থেকে ধরে কাউন্ট করবে ।এখন আমরা যদি চাই যে আমাদের শুধু mehedi দরকার তাহলে লিখতে পারি :

var b = "Tanvir mehedi";
console.log(b.substring(7));

এখানে indexnumber ৭ থেকে শুরু করে লাস্ট পর্যন্ত আমাদের দিচ্ছি ।

আমার আমরা যদি চাই লাস্ট এর সব নিব না শুধু meh নিব সেক্ষেত্রে :

var b = "Tanvir mehedi";

console.log(b.substring(7));

console.log(b.substring(7, 10));

স্টার্টিং number এবং এন্ডিং number আমরা মেনশন করে দিলে আমাদের আউটপুট দিবে :

Screenshot from 2022-08-18 00-45-06.png

charAt :

আমরা কোন ইনডেক্স এ কোন ক্যারেক্টর আছে সেটা খুব সহজেই charAt মেথড ব্যবহার করে বের করে ফেলতে পারি । এখানে charAt মানে বুঝাচ্ছে ক্যারেক্টর at ।আমরা নিচে দেখানো উপায়ে বের করতে পারি :

তুমি কিন্তু নিজে নিজে এগুলো প্রাকটিস করবা নাহলে বুঝেনেয়া অসম্পূর্ন থেকে যাবে ।

var b = "Tanvir mehedi";

console.log(b.charAt(0));

এখানে জাস্ট ইনডেক্স নম্বর বলে দিলেই ক্যারেকটার বলে দিবে ।

startsWith :

তুমি যদি দেখতেচাও কোন স্ট্রিং তোমার স্পেসিফিক লেটার দিয়ে শুরু হয়েছে কিনা সেটাও চেক করতে পার startsWith মেথড ব্যবহার করে ।তবে এ ক্ষেত্রে বুলিয়ান রিটার্ন করবে ।এবং startsWith মেথড কেস সেন্সেটিভ ।

যেমন ধর তুমি দেখতে চাইলে তোমার ভ্যারিয়েবল এর প্রথমে T দিয়ে শুরু হয়েছে কিনা । শুরু হলে true হবে না হলে false ।

var b = "Tanvir mehedi";

console.log(b.startsWith("T"));

আউটপুট :

Screenshot from 2022-08-18 01-11-32.png

endsWith :

ঠিক একই ভাবে আমরা চেক করতে পারি শেষের লেটার কি আছে সেক্ষেত্রে ব্যবহার করব endsWith মেথড ।এবং এখানেও বুলিয়ান রিটার্ন করবে ।

শুধু যে লেটার চেক করতে পারি এমন নয় আমরা চাইলে পুরো ওয়ার্ড কেও চেক করতে পারি ।

toUpperCase :

আমাদের অনেকসময় লোয়ার কেস ওয়ার্ড বা স্ট্রিং কে সব আপার কেস এ দেখার দরকার হয় সেখানে আমরা toUpperCase মেথড ব্যবহার করতে পারি ।

var b = "Tanvir mehedi";

console.log(b.toUpperCase());

আউটপুট :

image.png

toLowerCase :

toUpperCase আমাদের ছোটোহাতের অক্ষর গুলোকে বড় হাত করে দিত এখানে উল্টো হবে ক্যাপিটাল লেটার থাকলে সেটা smaller করে দিবে ।

var b = "Tanvir mehedi";
console.log(b.toLowerCase());

image.png

trim :

তুমি ভুল বসত এমন একটা ভেরিয়েবল ডিক্লার করেছ যেখানে অনেক স্পেস রয়েছে । trim মেথড unwanted স্পেস গুলো রিমুভ করতে আমাদের হেল্প করবে

var f = "             this is space                     ";

console.log(f.trim());

আউটপুট :

image.png

split :

স্প্লিট মেথড যে কোন টেক্সট কে স্পেসিফিক ক্যারেকটার এর উপর ভিত্তি করে word এ ভেঙে array তে রূপান্তর করে ফেলতে হেল্প করবে । array নিয়ে আমরা পরে আলোচনা করব ।

var b = "Tanvir mehedi";

console.log(b.split(" "));

এখানে আমরা b ভ্যারিয়েবল এর টেক্সট কে white space এর উপর ভিত্তি করে ভেঙে আলাদা করেছি ।

আউটপুট :

image.png

এগুলোই মূলত স্ট্রিং এর গুরুত্ত পূর্ণ মেথড আপনি চাইলে আরো অনেক মেথড দেখতে পারেন মজিলা ডেভেলপার রিসোর্সএ ।

042. How to Get Length of a String :

এই সেকশন এ আমরা দেখবো কিভাবে স্ট্রিং এর length বের করতে হয় ।

আমরা খুব সহজ ভাবে length মেথড ব্যবহার করে স্ট্রিং এর লেংথ বের করতে পারি ।

var b = "Tanvir mehedi";

console.log(b.length);

আউটপুট :

image.png

এই চ্যাপ্টার এখানেই শেষ করছি আগামী পর্বে দেখা হবে array নিয়ে ।

JavaScript deep dive

Part 5 of 17

সম্পূর্ণ বাংলা ভাষায় javascript কমপ্লিট সিরিজ। একদম বিগিনার থেকে অ্যাডভান্সড লেভেল সবার জন্য।সিরিজটি এমন ভাবে সাজানো হয়েছে যেন প্রোগ্রামিং এর বিগিনার থেকে এক্সপার্ট সবাই এ উপকৃত হতে পারে।

Up next

Array & It's Use Bengali JavaScript Series ⇾ Chapter Six

Array, traverse, declare array, insert, remove, replace array, search data in array, array method

More from this blog

D

Discover latest tech &amp; programming blogs with devtj. Educate yourself in web development &amp; more

34 posts

Backend-Focused Full-Stack Developer.

🛠️ Current Tech Stack: MERN Stack Enthusiast🚀