Haskell এ, আপনি স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে কোন তৃতীয় পক্ষের লাইব্রেরির প্রয়োজন ছাড়াই একটি স্ট্রিং ক্যাপিটালাইজ করতে পারেন।.
হ্যাসকেলে স্ট্রিং সংযুক্তির প্রক্রিয়া (++) অপারেটরের মাধ্যমে বেশ সহজ.
(++)
Haskell অক্ষরগুলি নিয়ন্ত্রণের জন্য Data.Char মডিউল ব্যবহার করে। toLower ফাংশন বিশেষভাবে একক অক্ষরকে লোয়ার কেসে পরিণত করে। আপনি একটি স্ট্রিংকে সম্পূর্ণরূপে লোয়ার কেসে পরিণত করতে এই ফাংশনটির ওপর ম্যাপিং করবেন। কোডটি দেখুন.
Data.Char
toLower
Haskell-এর ‘Data.List’ এর মতো সমৃদ্ধ লাইব্রেরীসেট, স্ট্রিং যা মূলত তালিকাদের একটি বিশেষ ক্ষেত্রের জন্য বিভিন্ন টুলগুলি প্রদান করে। ঐতিহাসিকভাবে, Haskell-এর প্যাটার্ন ম্যাচিং হল ML এর মতো পুরানো ফাংশনাল ভাষাগুলি থেকে ধার করা একটি ধারণা। Haskell-এ প্যাটার্ন ম্যাচিং এর বিভিন্ন পদ্ধতি রয়েছে। আমাদের সাধারণ removePattern isInfixOf ব্যবহার করে প্যাটার্ন চেক করে। জটিল প্যাটার্নের জন্য regex লাইব্রেরিগুলিও রয়েছে, তবে তারা নির্ভরতা যোগ করে এবং কখনও কখনও জিনিসগুলি অতিরিক্ত জটিল করে তোলে। নির্ভরশীলতা প্রসঙ্গে, জায়গাগুলি ট্রিম করতে আপনি তৃতীয় পক্ষের একটি লাইব্রেরি ইমপোর্ট করতে পারেন, তবে আমাদের ’trim’ ফাংশন নেটিভভাবে কাজ টি করে। সর্বশেষে, কর্মক্ষমতা প্রসঙ্গে, Haskell-এ পুনরাবৃত্তিমূলক ফাংশনগুলি নিয়ে সবসময় সাবধান থাকুন; কম্পাইলার কর্তৃক সঠিকভাবে অনুকূলিত না হলে এগুলি অকার্যকর হতে পারে। থাঙ্কস জমা হতে পারে, যা স্থান ফাঁস ঘটাতে পারে। বৃহত্তর বা অধিক সংখ্যক স্ট্রিংগুলির ম্যানিপুলেশনের জন্য ভালো কর্মক্ষমতা পেতে, আপনি Haskell-এর Text মডিউল অন্বেষণ করতে পারেন।.
removePattern
isInfixOf
Text
হাস্কেলে, আপনি take, drop, এবং substring (Data.Text থেকে) এর মতো বিল্ট-ইন ফাংশন ব্যবহার করে স্ট্রিং কাটাকুটি করতে পারেন।.
take
drop
substring
Data.Text
Haskell একটি নিখুঁত ফাংশনাল ভাষা যেখানে স্ট্রিংগুলি অক্ষরের তালিকা হিসেবে প্রতিনিধিত্ব করা হয়। length ফাংশনটি প্রিলিউডের (Haskell প্রোগ্রামে আমদানি করা ডিফল্ট লাইব্রেরি) অংশ, এই উপস্থাপনা অনুযায়ী কাজ করে। ঐতিহাসিকভাবে, Haskell-এ স্ট্রিংগুলিকে তালিকা হিসেবে দেখা একটি স্বাভাবিক বাছাই ছিল কারণ এটি সাদাসিধা এবং লিস্প কর্তৃক একই সিদ্ধান্ত গ্রহণ (যা অনেক ফাংশনাল ভাষাকে প্রভাবিত করেছে)। length ফাংশনটি কেবল এই তালিকায় উপাদানগুলি গণনা করে। তবে, length হল O(n), অর্থাৎ ফাংশনটি স্ট্রিং-এর দৈর্ঘ্যের সাথে আনুপাতিক সময় নেবে। সংক্ষিপ্ত স্ট্রিং-এর ক্ষেত্রে এটি সমস্যা নয়, তবে লম্বা স্ট্রিং-এর জন্য, এটি অকার্যকর হতে পারে। বিকল্পগুলো অন্তর্ভুক্ত.
length
হাস্কেলে, স্ট্রিং ইন্টারপোলেশন অন্তর্ভুক্ত নয়, তবে interpolate প্যাকেজের সাহায্যে, আপনি প্রায় একই কাজ করতে পারেন। প্রথমে, নিশ্চিত করুন আপনার কাছে প্যাকেজটি আছে.
interpolate
Haskell এ, আমরা এমন একটি ফাংশন তৈরি করতে পারি যা দেওয়া একটি স্ট্রিং থেকে সমস্ত উদ্ধৃতি চিহ্ন সরাবে। এটি মূলত উদ্ধৃতি চিহ্নগুলিকে চলে যাওয়ার জন্য বলা এবং নিশ্চিত করা যে তারা ইঙ্গিত নেয়।.
চলুন আমরা Haskell ব্যবহার করে টেক্সট অনুসন্ধান এবং প্রতিস্থাপন করি। আমরা ইউনিকোড টেক্সট হ্যান্ডলিং এবং দক্ষতার জন্য Data.Text ব্যবহার করব। Data.Text এভাবে ইম্পোর্ট করতে নিশ্চিত করুন.
Haskell এ, regex ফাংশনালিটিগুলি মানক লাইব্রেরির অংশ নয়, যার ফলে regex-base এর মতো তৃতীয় পক্ষের প্যাকেজের ব্যবহার এবং এর সাথে সামঞ্জস্যপূর্ণ ব্যাকএন্ড যেমন regex-posix (POSIX regex সমর্থনের জন্য), regex-pcre (Perl-সামঞ্জস্যপূর্ণ regex এর জন্য), ইত্যাদির দরকার হয়। নিয়মিত অভিব্যক্তিগুলি সাথে কাজ করার জন্য আপনি কিভাবে এই প্যাকেজগুলি ব্যবহার করতে পারেন তা এখানে। প্রথমত, আপনার প্রকল্পের .cabal ফাইলে regex-posix বা regex-pcre যোগ করে বা সরাসরি cabal এর মাধ্যমে ইনস্টল করে নিশ্চিত করুন যে প্যাকেজগুলি ইনস্টল করা আছে.
regex-base
regex-posix
regex-pcre
.cabal