String Concatenation, Substring এবং Matching

String এবং Character Handling (স্ট্রিং এবং ক্যারেক্টার হ্যান্ডলিং) - প্রোলগ প্রোগ্রামিং (Prolog Programming) - Computer Programming

373

প্রোলগ মূলত লজিক্যাল প্রোগ্রামিং ভাষা হলেও এটি স্ট্রিং ম্যানিপুলেশন সম্পর্কিত কিছু মৌলিক কাজ যেমন string concatenation, substring extraction, এবং pattern matching করতে সক্ষম। এই কাজগুলো সাধারণত লিস্ট বা এটম হিসেবে স্টোর করা স্ট্রিং-এর মাধ্যমে করা হয়। প্রোলগে স্ট্রিং ম্যানিপুলেশন কিভাবে করা যায় তা নিম্নে আলোচনা করা হয়েছে।

১. String Concatenation (স্ট্রিং কনক্যাটেনেশন)

স্ট্রিং কনক্যাটেনেশন বা দুটি স্ট্রিংকে একত্রিত করা প্রোলগে সাধারণত লিস্ট বা এটম হিসাবে ব্যবহৃত হয়। append/3 প্রেডিকেট ব্যবহার করে আপনি দুটি লিস্ট বা স্ট্রিং কনক্যাটেনেট করতে পারেন।

String Concatenation এর উদাহরণ:

স্ট্রিং_কনক্যাটেনেশন(X, Y, Z) :- append(X, Y, Z).

এখানে, append/3 প্রেডিকেটটি দুইটি লিস্ট বা এটম X এবং Y একত্রিত করে একটি নতুন লিস্ট বা স্ট্রিং Z তৈরি করে।

উদাহরণ:

?- append('Hello', 'World', X).

আউটপুট:

X = 'HelloWorld'.

এখানে, দুটি স্ট্রিং 'Hello' এবং 'World' একত্রিত হয়ে 'HelloWorld' তৈরি হয়েছে।

২. Substring (স্ট্রিং সাবস্ট্রিং)

প্রোলগে সাবস্ট্রিং বের করার জন্য sub_atom/5 প্রেডিকেট ব্যবহার করা হয়। এটি একটি স্ট্রিং থেকে একটি অংশ বের করার জন্য ব্যবহার করা হয়।

Substring Extraction এর উদাহরণ:

substring(Original, Start, Length, Substring) :- sub_atom(Original, Start, Length, _, Substring).

এখানে, sub_atom/5 এর মাধ্যমে Original স্ট্রিং থেকে Start পজিশন থেকে Length দৈর্ঘ্যের সাবস্ট্রিং Substring বের করা হয়।

উদাহরণ:

?- sub_atom('HelloWorld', 0, 5, _, Substring).

আউটপুট:

Substring = 'Hello'.

এখানে, HelloWorld স্ট্রিংয়ের প্রথম 5 অক্ষর বের করা হয়েছে, ফলে 'Hello' সাবস্ট্রিং পাওয়া গেছে।

Substrings with Remaining Part:

sub_atom/5 প্রেডিকেটটি স্ট্রিং থেকে সাবস্ট্রিং বের করার পাশাপাশি বাকি অংশও বের করতে পারে। এর মাধ্যমে আপনি বাকি অংশের position বা length নির্ধারণ করতে পারেন।

উদাহরণ:

?- sub_atom('HelloWorld', 0, 5, 5, Substring).

আউটপুট:

Substring = 'Hello'.

এখানে, প্রথম 5 অক্ষরের সাবস্ট্রিং 'Hello' বের করা হয়েছে এবং বাকি অংশ 'World' দ্বারা নির্ধারিত।

৩. Pattern Matching (স্ট্রিং প্যাটার্ন ম্যাচিং)

প্রোলগে স্ট্রিং প্যাটার্ন ম্যাচিং সাধারণত sub_atom/5 প্রেডিকেটের মাধ্যমে করা হয়, যেখানে একটি স্ট্রিংয়ের মধ্যে কোনো নির্দিষ্ট প্যাটার্ন খুঁজে বের করা হয়। আপনি একটি স্ট্রিংয়ে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে sub_atom/5 ব্যবহার করতে পারেন।

Pattern Matching এর উদাহরণ:

স্ট্রিং_প্যাটার্ন_ম্যাচ(Original, Pattern) :-
    sub_atom(Original, _, _, _, Pattern).

এখানে, sub_atom/5 এর মাধ্যমে আমরা Pattern নামক সাবস্ট্রিংটি Original স্ট্রিংয়ের মধ্যে খুঁজে বের করছি।

উদাহরণ:

?- স্ট্রিং_প্যাটার্ন_ম্যাচ('HelloWorld', 'World').

আউটপুট:

true.

এখানে, 'World' প্যাটার্ন 'HelloWorld' স্ট্রিংয়ের মধ্যে মিলে গেছে, তাই আউটপুট true রিটার্ন করেছে।

Pattern Matching with Start and Length:

আপনি যদি স্ট্রিংয়ের মধ্যে কোথায় প্যাটার্ন শুরু হচ্ছে এবং তার দৈর্ঘ্য জানতে চান, তাহলে sub_atom/5 ব্যবহার করে এটি বের করতে পারেন।

উদাহরণ:

?- sub_atom('HelloWorld', Start, Length, _, 'World').

আউটপুট:

Start = 5,
Length = 5.

এখানে, 'World' প্যাটার্ন 'HelloWorld' স্ট্রিংয়ের 5 তম পজিশনে শুরু হচ্ছে এবং তার দৈর্ঘ্য 5।

String Manipulation Related Operators:

  • atom_concat/3: দুটি এটমকে একত্রিত করে একটি নতুন এটম তৈরি করে।
  • atom_length/2: একটি এটমের দৈর্ঘ্য বের করে।
  • sub_atom/5: একটি স্ট্রিং বা এটম থেকে সাবস্ট্রিং বের করার জন্য ব্যবহৃত হয়।

সারসংক্ষেপ:

প্রোলগে String Concatenation, Substring এবং Pattern Matching গুরুত্বপূর্ণ স্ট্রিং ম্যানিপুলেশন অপারেশন যা আপনাকে স্ট্রিংয়ের সাথে কাজ করার জন্য বিভিন্ন সুবিধা প্রদান করে। append/3, sub_atom/5, এবং atom_concat/3 প্রেডিকেটগুলির মাধ্যমে আপনি স্ট্রিং যুক্ত করতে, সাবস্ট্রিং বের করতে, এবং স্ট্রিং প্যাটার্নের সাথে মেলাতে পারবেন। এগুলি প্রোগ্রামিংয়ে স্ট্রিং ম্যানিপুলেশনকে সহজ এবং কার্যকরী করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...