স্ট্রিং মেথড,পর্ব ৬

লিখেছেন: কাজী মুশফিকুর রহমান || সফটওয়্যার প্রকৌশলী, টেকনিয়াস (সফটওয়্যার নির্মাণ প্রতিষ্ঠান) || তারিখঃ 03 মে, 2024


split()মেথড এর ব্যবহার

split() মেথডটি স্ট্রিংকে ভেঙে লিস্ট এ কনভার্ট করে, যেখানে স্ট্রিং এর একেকটি word হয় লিস্ট এর একেকটি আইটেম (উপাদান)। এক্ষেত্রে স্ট্রিংয়ের word গুলোর মাঝে পার্থক্যকারী (সেপারেটর) হিসাবে যেকোনো সিম্বল (যেমন: কমা, হাইফেন, হ্যাশ # চিহ্ন ইত্যাদি) ব্যবহার করা যায়, তবে ডিফল্ট সেপারেটর হলো হোয়াইট স্পেস (whitespace)। অর্থাৎ সেপারেটর হিসাবে যদি কোনো সিম্বল ব্যবহার করা না হয়, তাহলে স্ট্রিংয়ের word গুলোর মাঝে  হোয়াইট স্পেস এর মাধমে পার্থক্য তৈরী হবে।

ডিফল্ট সেপারেটর এর ব্যবহার

কোড:

original_text = 'Python is used in research field.'

# Break the string and convert it to list.

list = original_text.split()

print('String converted to list: ', list)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি এবং স্ট্রিংটি কে original_text নামক ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। তৃতীয় লাইনে split() মেথডটি ব্যবহার করে স্ট্রিংকে ভেঙে লিস্ট এ কনভার্ট করেছি এবং মেথডটির রিটার্ন ভ্যালুকে list নামক  ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। যেহেতু এখানে split() মেথডের ভেতরে সেপারেটর হিসাবে কোনো সিম্বল ব্যবহার করা হয়নি, তাই এটি ডিফল্ট সেপারেটর হিসাবে কাজ করেছে, এবং স্ট্রিংটির word গুলোর মাঝে হোয়াইট স্পেস তৈরী করে পার্থক্য করেছে। চতুর্থ লাইনে লিস্টটি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

String converted to list:  ['Python', 'is', 'used', 'in', 'research', 'field.']

 

split() মেথড ব্যবহারের সিনটেক্স:

ভ্যারিয়েবলের নাম = string.split()

ভ্যারিয়েবলের নাম এর পরে ‘=’ চিহ্ন, তারপর string, তারপর ডট চিহ্ন, তারপর split() মেথডটি ব্যবহার করতে হবে। এই স্ট্রাকচারটি ফলো করলে আপনি আপনার প্রত্যাশিত ফলাফল পেয়ে যাবেন।

উদাহরণ:

return_value = string. split()

 

সেপারেটর হিসাবে ‘–‘ (হাইফেন) এর ব্যবহার

এখন আমরা সেপারেটর হিসাবে ‘–‘ (হাইফেন) ব্যবহার করব। নিচের স্ট্রিংটির যেখানে হাইফেন আছে সেখানে ভেঙ্গে ফেলব এবং প্রাপ্ত অংশগুলোকে লিস্ট এর আইটেম এ পরিনত করব।

কোড:

original_text = 'Python-is-used-in-research-field.'

# Break the above string where the hyphen is.

list = original_text.split('-')

print('String converted to list: ', list)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি, যেখানে এর word গুলো হাইফেন দিয়ে সংযুক্ত এবং তাকে original_text নামক ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। তৃতীয় লাইনে split() মেথডটি র মাঝে হাইফেন ব্যবহার করে, স্ট্রিংটির যে জায়গা গুলোতে হাইফেন আছে সেখান থেকে ভেঙে ফেলেছি, এবং প্রাপ্ত অংশগুলোকে লিস্ট এর আইটেম এ পরিনত করেছি। এবং মেথডটির রিটার্ন ভ্যালুকে list নামক  ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। চতুর্থ লাইনে লিস্টটি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

String converted to list:  ['Python', 'is', 'used', 'in', 'research', 'field.'].

 

স্প্লিট প্যারামিটার (নিউমেরিক ভ্যালু) ব্যবহার করে

আপনি split() মেথড ব্যবহার করে একটি স্ট্রিংকে যতবার ভাঙতে চান সেই সংখ্যাটি মেথডটির মধ্যে বলে দিতে পারেন, এই সিংখাটি কে স্প্লিট প্যারামিটার (split parameter) বলে। আপনি মেথডটির ভেতরে যে ভ্যালু দিবেন এটি তার সাথে ১ যোগ করবে।  উদাহরণস্বরূপ: আপনি যদি লিখেন, original_text.split('-', 1), তাহলে এর অর্থ হবে  original_text.split('-', 2)। এখানে 1 হচ্ছে স্প্লিট প্যারামিটার। অর্থাৎ স্ট্রিংটি প্রথম হাইফেন এর জায়গা থেকে দুই ভাগে ভাগ হয়ে যাবে। এক্ষেত্রে নিচের স্ট্রাকচারটি ফলো করা যেতে পারে।

স্ট্রাকচার:

রিটার্ন ভ্যালু = text.split(সেপারেটর, কাউন্টিং নাম্বার)

উদাহরণ:

return_value = text.split('+', 1)

এবার আমরা এ বিষয়ে একটি কোড দেখব।

কোড:

original_text = 'Django+is+a+framework+of+python.'

list_of_two_items = original_text.split('+', 1)

list_of_three_ items = original_text.split('+', 2)

list_of_four_ items = original_text.split('+', 3)

list_of_five_ items = original_text.split('+', 4)

list_of_six_ items = original_text.split('+', 5)

 

print('original_text: ', original_text)

print('String is splited into 2 pieces: ', list_of_two_items)

print('String is splited into 3 pieces: ', list_of_three_ items)

print('String is splited into 4 pieces: ', list_of_four_ items)

print('String is splited into 5 pieces: ', list_of_five_ items)

print('String is splited into 6 pieces: ', list_of_six_ items)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি, যার word গুলো ‘+’  চিহ্নের মাধ্যমে সংযুক্ত এবং  স্ট্রিংটি কে original_text নামক ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। দ্বিতীয় লাইনে split() মেথডটি ব্যবহার করে স্ট্রিংটি কে (প্রথম ‘+’ চিহ্নের জায়গা থেকে) দুই ভাগে ভাগ করেছি। এবং মেথডটির রিটার্ন ভ্যালুকে list_of_two_items নামক  ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। তৃতীয় লাইনে একইভাবে স্ট্রিংটি কে তিন ভাগে, চতুর্থ লাইনে চার ভাগে, পঞ্চম লাইনে পাঁচ ভাগে, এবং ষষ্ঠ লাইনে ছয় ভাগে ভাগ করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

original_text:  Django+is+a+framework+of+python.

String is splited into 2 pieces:  ['Django', 'is+a+framework+of+python.']

String is splited into 3 pieces:  ['Django', 'is', 'a+framework+of+python.']

String is splited into 4 pieces:  ['Django', 'is', 'a', 'framework+of+python.']

String is splited into 5 pieces:  ['Django', 'is', 'a', 'framework', 'of+python.']

String is splited into 6 pieces:  ['Django', 'is', 'a', 'framework', 'of', 'python.']

 

বিশেষ দ্রষ্টব্য: স্ট্রিং এর বিল্ট ইন মেথড নিয়ে আমি কয়েকটি পর্বে আলোচনা করব, পরবর্তী পর্বে আরো কিছু মেথড এর আলোচনা থাকবে।