String ম্যানিপুলেশন এবং Functions
ডি প্রোগ্রামিং ভাষায় string manipulation একটি সাধারণ এবং গুরুত্বপূর্ণ কাজ, যা প্রায় সব প্রোগ্রামে ব্যবহৃত হয়। স্ট্রিং একটি সিকোয়েন্স (sequence) বা সিকোয়েন্সিয়াল ডেটা টাইপ, যেখানে প্রতিটি ক্যারেক্টার বা অক্ষর একটি নির্দিষ্ট ইনডেক্স পজিশনে থাকে। ডি প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশন করার জন্য বেশ কিছু শক্তিশালী ফাংশন এবং মেথড সরবরাহ করা হয়।
এখানে string manipulation এবং বিভিন্ন স্ট্রিং ফাংশন নিয়ে আলোচনা করা হলো।
1. String ডিক্লেয়ারেশন এবং ইনিশিয়ালাইজেশন
ডি প্রোগ্রামিং ভাষায় স্ট্রিং ডিক্লেয়ারেশন এবং ইনিশিয়ালাইজেশন খুবই সহজ। স্ট্রিং মূলত string টাইপ দ্বারা ডিফাইন করা হয়।
উদাহরণ:
string str = "Hello, D Programming!";এখানে:
strএকটি স্ট্রিং ভেরিয়েবল, যা"Hello, D Programming!"মান ধারণ করছে।
2. String Length এবং Size
ডি ভাষায় স্ট্রিং এর দৈর্ঘ্য জানার জন্য length বা to!string ফাংশন ব্যবহার করা যায়। এই ফাংশনটি স্ট্রিংয়ের মধ্যে কয়টি ক্যারেক্টার রয়েছে তা রিটার্ন করে।
উদাহরণ:
string str = "Hello, D!";
writeln(str.length); // আউটপুট: 10এখানে:
str.lengthফাংশনটি স্ট্রিংটির দৈর্ঘ্য (মোট ক্যারেক্টার সংখ্যা) রিটার্ন করে।
3. String Concatenation (যোগফল)
স্ট্রিং যোগ করার জন্য ~ অপারেটর ব্যবহার করা হয়। এটি দুটি স্ট্রিং একত্রিত করতে সহায়তা করে।
উদাহরণ:
string firstName = "John";
string lastName = "Doe";
string fullName = firstName ~ " " ~ lastName; // Concatenate with a space in between
writeln(fullName); // আউটপুট: John Doeএখানে:
~অপারেটর দুটি স্ট্রিংকে একত্রিত করে এবং তাদের মধ্যে একটি স্পেস যোগ করে।
4. String Substring (উপস্ট্রিং)
স্ট্রিংয়ের একটি অংশ (substring) বের করার জন্য substring ফাংশন ব্যবহার করা হয়। এটি একটি নির্দিষ্ট শুরু এবং শেষ পজিশনের মধ্যে স্ট্রিংয়ের অংশ বের করে।
উদাহরণ:
string str = "Hello, D Programming!";
string subStr = str[0..5]; // Extract "Hello"
writeln(subStr); // আউটপুট: Helloএখানে:
str[0..5]স্ট্রিংয়ের প্রথম ৫টি ক্যারেক্টার (ইনডেক্স 0 থেকে 4 পর্যন্ত) বের করে।
5. String Comparison (স্ট্রিং তুলনা)
স্ট্রিং তুলনা করতে == অপারেটর ব্যবহার করা হয়, যা দুটি স্ট্রিংয়ের মান তুলনা করে এবং true বা false রিটার্ন করে।
উদাহরণ:
string str1 = "Hello";
string str2 = "World";
string str3 = "Hello";
writeln(str1 == str2); // আউটপুট: false
writeln(str1 == str3); // আউটপুট: trueএখানে:
- প্রথম তুলনা
str1এবংstr2এর মধ্যে পার্থক্য হওয়ায়falseরিটার্ন করবে। - দ্বিতীয় তুলনা
str1এবংstr3সমান হওয়ায়trueরিটার্ন করবে।
6. String Search (স্ট্রিং অনুসন্ধান)
স্ট্রিংয়ের মধ্যে একটি সাবস্ট্রিং খুঁজতে indexOf ফাংশন ব্যবহার করা হয়। এটি একটি নির্দিষ্ট সাবস্ট্রিং এর প্রথম উপস্থিতির ইনডেক্স রিটার্ন করে।
উদাহরণ:
string str = "Hello, D Programming!";
int index = str.indexOf("D"); // Find index of "D"
writeln(index); // আউটপুট: 7এখানে:
indexOfফাংশনটি"D"এর প্রথম ইনডেক্স ৭ রিটার্ন করবে।
7. String Case Conversion (কেস কনভার্সন)
স্ট্রিংয়ের ক্যারেক্টার কেস পরিবর্তন করতে toUpper এবং toLower ফাংশন ব্যবহার করা হয়।
উদাহরণ:
string str = "Hello, D Programming!";
writeln(str.toUpper); // আউটপুট: HELLO, D PROGRAMMING!
writeln(str.toLower); // আউটপুট: hello, d programming!এখানে:
toUpperফাংশন স্ট্রিংয়ের সকল ক্যারেক্টারকে বড় হাতের অক্ষরে রূপান্তরিত করে।toLowerফাংশন স্ট্রিংয়ের সকল ক্যারেক্টারকে ছোট হাতের অক্ষরে রূপান্তরিত করে।
8. String Trim (স্ট্রিং ট্রিমিং)
স্ট্রিংয়ের শুরু এবং শেষে থাকা অপ্রয়োজনীয় স্পেস বা সাদা জায়গা (whitespace) মুছে ফেলতে strip ফাংশন ব্যবহার করা হয়।
উদাহরণ:
string str = " Hello, D Programming! ";
string trimmed = str.strip; // Remove leading and trailing spaces
writeln(trimmed); // আউটপুট: Hello, D Programming!এখানে:
stripফাংশন স্ট্রিংয়ের শুরু এবং শেষের সাদা জায়গা মুছে দেয়।
9. String Formatting (স্ট্রিং ফরম্যাটিং)
স্ট্রিং ফরম্যাটিং করতে format ফাংশন ব্যবহার করা হয়, যা স্ট্রিংয়ের মধ্যে ভেরিয়েবল বা ডাইনামিক মান ইনজেক্ট করে।
উদাহরণ:
int age = 25;
string name = "John";
writeln("Name: %s, Age: %d".format(name, age)); // আউটপুট: Name: John, Age: 25এখানে:
formatফাংশনটি স্ট্রিংয়ের মধ্যে%sএবং%dপ্লেসহোল্ডার ব্যবহার করেnameএবংageএর মান ইনজেক্ট করে।
সারসংক্ষেপ
ডি প্রোগ্রামিং ভাষায় স্ট্রিং ম্যানিপুলেশন অত্যন্ত সহজ এবং শক্তিশালী। ডি ভাষায় স্ট্রিং ডিক্লেয়ারেশন, কনক্যাটেনেশন, সাবস্ট্রিং, কম্পেয়ার, সার্চ, কেস কনভার্সন, ট্রিমিং এবং ফরম্যাটিং সহ অনেক স্ট্রিং ম্যানিপুলেশন ফাংশন রয়েছে, যা কোডিংকে সহজ এবং দ্রুত করে তোলে। এগুলি ব্যবহার করে আপনি ডেটা প্রক্রিয়া, টেক্সট ম্যানিপুলেশন এবং অন্যান্য অ্যাপ্লিকেশন তৈরি করতে পারেন।
Read more