Haskell:
স্ট্রিং থেকে উদ্ধৃতি মুছে ফেলা
কিভাবে:
Haskell এ, আমরা এমন একটি ফাংশন তৈরি করতে পারি যা দেওয়া একটি স্ট্রিং থেকে সমস্ত উদ্ধৃতি চিহ্ন সরাবে। এটি মূলত উদ্ধৃতি চিহ্নগুলিকে চলে যাওয়ার জন্য বলা এবং নিশ্চিত করা যে তারা ইঙ্গিত নেয়।
import Data.List (intercalate)
import Data.Char (isPunctuation)
removeQuotes :: String -> String
removeQuotes = filter (\c -> c /= '"' && c /= '\'')
main :: IO ()
main = do
let stringWithQuotes = "Haskell said, \"Let's learn some functions!\""
putStrLn $ removeQuotes stringWithQuotes
নমুনা আউটপুট:
Haskell said, Lets learn some functions!
গভীর ডুব
অনেক অনেক দিন আগে, প্রোগ্রামিংয়ে স্ট্রিংগুলো যখন ইন্টারনেটে বিড়ালের ভিডিওর মতো সাধারণ ছিল না, তখন টেক্সট নিয়ে কাজ করা একটি ঝক্কির বিষয় ছিল। কিন্তু প্রোগ্রামিং ভাষাগুলি বিকাশ লাভের সাথে সাথে, স্ট্রিং কোডিংয়ের একটি অপরিহার্য অংশ হয়ে উঠেছিল। তারপরেও, উদ্ধৃতি চিহ্নগুলি একটি দ্বৈত-প্রান্তরপী তরবারির মতো রয়েছে— স্ট্রিং সংজ্ঞায়িত করার জন্য অপরিহার্য, কিন্তু প্রকৃত ডেটা হিসেবে অন্তর্ভুক্ত হলে বিরক্তিকর।
বিকল্পগুলি? সকল উদ্ধৃতি চিহ্নগুলি মাছির মতো ঝাঁকুনি দিয়ে সরানোর পরিবর্তে, আপনি চয়নমূলক হতে পারেন। আপনি হয়তো কেবল বাহ্যিকতম উদ্ধৃতি চিহ্নগুলি সরাতে চাইতে পারেন (একটি ক্লাসিক ট্রিম) বা স্ট্রিংয়ের মধ্যে পালানো উদ্ধৃতি চিহ্নগুলি সামলাতে চাইতে পারেন।
বাস্তবায়নের দিক থেকে, উপরের removeQuotes
ফাংশনটি প্রতিটি অক্ষর (c
) যাচাই করার জন্য একটি ল্যাম্বডা ব্যবহার করে যদি তা একটি উপদ্রব উদ্ধৃতি চিহ্ন বলে মনে করা হয় এবং তাদের তদনুসারে বেছে নেয়। এটা একটি সরল পদ্ধতি, কিন্তু বড় টেক্সট বা আরও জটিল নিয়মের জন্য, আপনি Parsec
এর মতো পারসার লাইব্রেরিগুলির দিকে তাকাতে চাইতে পারেন যা আপনাকে টেক্সট প্রসেসিং-এ আরও সূক্ষ্মতা ও শক্তি প্রদান করতে পারে।
আরও দেখুন:
- রেগেক্স প্রেমীদের জন্য: Text.Regex.Posix
- Haskell স্ট্রিংগুলি সম্পর্কে একটি সৌম্য ভূমিকা: Learn You a Haskell for Great Good! - Starting Out