Elixir:
টেক্সট অনুসন্ধান এবং প্রতিস্থাপন
কীভাবে:
এলিক্সিরে, আপনি String
মডিউল ব্যবহার করে দ্রুত খুঁজে পেয়ে প্রতিস্থাপনের অপারেশন করতে পারেন। এখানে আপনি এটি যেভাবে করবেন:
original_text = "I heart Elixir!"
# সাধারণ প্রতিস্থাপন
replaced_text = String.replace(original_text, "heart", "❤️")
IO.puts replaced_text # আউটপুট: I ❤️ Elixir!
# গ্লোবাল প্রতিস্থাপন একটি প্যাটার্ন দিয়ে
replaced_text_global = String.replace(original_text, ~r/eart|Eli/, "❤️", global: true)
IO.puts replaced_text_global # আউটপুট: I ❤️ ❤️xir!
# কেস অনুবেদনহীন প্রতিস্থাপন
insensitive_replace = String.replace(original_text, "ELIXIR", "❤️", global: true, case_insensitive: true)
IO.puts insensitive_replace # আউটপুট: I heart ❤️!
গভীরে যাও
টেক্সট খুঁজে পেয়ে প্রতিস্থাপনের ধারণা কম্পিউটিংয়ের শুরু থেকেই আছে; এটি একটি ওয়ার্ড ডকুমেন্টে ‘ফাইন্ড এবং রিপ্লেস’ এর মতো, কিন্তু কোডের জন্য। এলিক্সিরে, এটি মূলত প্যাটার্ন ম্যাচিং এবং স্ট্রিং নিয়ে কার্যকরীভাবে কাজ করার ধারণা।
String.replace/4
ফাংশন এলিক্সিরের প্যাটার্ন ম্যাচিং সামর্থ্যকে কাজে লাগায়, যা আপনাকে শুধু স্থির স্ট্রিং নয় বরং রেগেক্স প্যাটার্ন গুলোর সাথেও ম্যাচ করার সুযোগ দেয়, যা গুরুত্বপূর্ণ লচ্ছনতার সাথে আসে। পর্দার অন্তরালে, এলিক্সির এরল্যাংয়ের শক্তিশালী স্ট্রিং হ্যান্ডলিং ব্যবহার করে, যা টেক্সট প্রসেসিং কাজে দৃঢ় এবং দক্ষ।
বিল্ট-ইন String
মডিউলের বিকল্প হিসেবে আপনি আরও জটিল কেসের জন্য নিজ নিজ ফাংশন লিখতে পারেন অথবা বিভিন্নভাবে স্ট্রিং হ্যান্ডলিংকে জড়িত থার্ড-পার্টি লাইব্রেরিগুলো ব্যবহার করতে পারেন। তবে, বেশিরভাগ ব্যবহারের ক্ষেত্রে, বিল্ট-ইন ফাংশনগুলো অতিরিক্ত নির্ভরতা ছাড়াই কাজ সম্পন্ন করবে।
একটি পরিবর্তনশীল ভাষা হিসেবে, মনে রাখবেন প্রত্যেকটি প্রতিস্থাপন ফাংশন একটি নতুন স্ট্রিং ফিরিয়ে দেয় - মূল স্ট্রিং অপরিবর্তিত থাকে। এটি কিছু অন্য ভাষা থেকে আলাদা যেখানে আপনি হয়তো স্ট্রিংটি স্থানে পরিবর্তন করতে পারেন।
দেখুন আরও
- এলিক্সিরের
String
মডিউল ডক্স: https://hexdocs.pm/elixir/String.html - এলিক্সিরে রেগেক্স: https://hexdocs.pm/elixir/Regex.html
- এলিক্সিরে প্যাটার্ন ম্যাচিং সম্পর্কে জানুন: https://elixir-lang.org/getting-started/pattern-matching.html