Lua:
একটি নমুনা মেলে অক্ষরগুলি মুছে ফেলা
কিভাবে:
Lua-তে, আমরা একটি প্যাটার্নের ঘটনাকে অন্য একটি স্ট্রিং-এ প্রতিস্থাপিত করার জন্য gsub
ফাংশন ব্যবহার করতে পারি - আমরা যখন তাদের মুছে ফেলতে চাই তখন খালি স্ট্রিং:
local text = "Hello, 123 World! 456"
local pattern = "%d" -- প্যাটার্ন যা সব সংখ্যার সাথে মিলে
local cleanedText, numOfReplacements = text:gsub(pattern, "")
print(cleanedText) -- আউটপুট: "Hello, World!"
print("প্রতিস্থাপনের সংখ্যা:", numOfReplacements) -- আউটপুট: "প্রতিস্থাপনের সংখ্যা: 6"
লক্ষ করুন, gsub
প্রতিস্থাপিত হওয়ার সংখ্যাকেও ফেরত দেয়, যা দরকারী একটি তথ্য হতে পারে।
গভীর নজর
Lua প্যাটার্নগুলি অন্যান্য ভাষার নিয়মিত এক্সপ্রেশনের তুলনায় সহজ কিন্তু তারপরও শক্তিশালী। ভাষাকে হালকা এবং দ্রুত রাখার কথা চিন্তা করে Lua-র একটি হালকা প্যাটার্ন-ম্যাচিং মেকানিজম বাস্তবায়নের সিদ্ধান্ত ইতিহাসিক।
বিকল্পগুলি অন্তর্ভুক্ত string.find
এবং string.sub
ব্যবহার করে লুপের সঙ্গে স্ট্রিং ম্যানুয়ালি পরীক্ষা করা এবং ম্যানিপুলেট করা, কিন্তু এটি সাধারণত gsub
দ্বারা প্যাটার্ন ম্যাচিং করার তুলনায় কম কার্যকর।
বাস্তবায়ন হিসেবে, gsub
যখন একটি প্যাটার্নের সাথে ডাকা হয়, Lua অভ্যন্তরীণভাবে এই প্যাটার্নটিকে একটি বাইটকোডে রূপান্তরিত করে যা পরে প্যাটার্ন ম্যাচার দ্বারা নির্বাহিত হয়। মনে রাখা গুরুত্বপূর্ণ যে Lua প্যাটার্ন এবং সত্যিকারের রেগুলার এক্সপ্রেশনের মধ্যে একটি পার্থক্য আছে, যেখানে প্রথমটির বৈশিষ্ট্য সেট ছোট এবং এতে লুক-আহেড বা ব্যাক-রেফারেন্সের মতো নির্মাণ অন্তর্ভুক্ত নেই।
এছাড়াও দেখুন
string.gsub
এর জন্য Lua 5.4 রেফারেন্স ম্যানুয়াল: https://www.lua.org/manual/5.4/manual.html#pdf-string.gsub- প্যাটার্ন বোঝার জন্য অনলাইনে উপলব্ধ Programming in Lua (প্রথম সংস্করণ): https://www.lua.org/pil/20.2.html
- Lua-র প্যাটার্ন ম্যাচিং নিয়ে পরীক্ষা করার জন্য একটি অনলাইন Lua প্যাটার্ন টেস্টার: https://www.lua.org/cgi-bin/demo
মনে রাখুন, এই টুলগুলো আপনার Lua-র প্যাটার্ন ম্যাচিং বোঝার ব্যাপারে আপনার ধারণাকে দৃঢ় করবে এবং আপনাকে স্ট্রিং ম্যানিপুলেশন পরীক্ষা করার জন্য একটি স্যান্ডবক্স দেবে। হ্যাপি কোডিং!