টিসিএল (Tcl) - String Functions: string, regexp, substr ইত্যাদি
টিসিএল (Tcl) ভাষায় স্ট্রিং ম্যানিপুলেশন এবং স্ট্রিং ফাংশন ব্যবহারে অনেক সুবিধা রয়েছে। স্ট্রিং থেকে বিভিন্ন উপাদান বের করা, স্ট্রিংয়ের মধ্যে বিশেষ ক্যারেক্টার খুঁজে পাওয়া, এবং স্ট্রিংয়ের বিভিন্ন অংশ পরিবর্তন বা প্রক্রিয়া করা যায় স্ট্রিং ফাংশনের মাধ্যমে। এখানে আমরা string, regexp, substr এবং অন্যান্য স্ট্রিং ফাংশনের ব্যবহার এবং উদাহরণ নিয়ে আলোচনা করবো।
১. string ফাংশন
টিসিএল-এ string একটি কমান্ড যা বিভিন্ন স্ট্রিং ম্যানিপুলেশন করতে ব্যবহৃত হয়। এই কমান্ডটির মাধ্যমে আপনি স্ট্রিংয়ের দৈর্ঘ্য বের করা, স্ট্রিং তুলনা করা, সাবস্ট্রিং বের করা, স্ট্রিংয়ের অংশ মুছতে পারেন।
১.১. স্ট্রিং দৈর্ঘ্য বের করা (string length)
string length কমান্ডটি একটি স্ট্রিংয়ের দৈর্ঘ্য (characters সংখ্যা) বের করে।
উদাহরণ:
set str "Hello"
set length [string length $str]
puts $length ;# আউটপুট: 5এখানে "Hello" স্ট্রিংয়ের দৈর্ঘ্য 5 হবে।
১.২. স্ট্রিং তুলনা (string compare)
string compare কমান্ডটি দুটি স্ট্রিং তুলনা করে এবং তাদের সমতা পরীক্ষার পর একটি মান ফেরত দেয়:
0যদি স্ট্রিং দুটি সমান হয়।-1বা1যদি স্ট্রিং দুটি ভিন্ন হয়।
উদাহরণ:
set str1 "apple"
set str2 "orange"
set result [string compare $str1 $str2]
puts $result ;# আউটপুট: -1 (যেহেতু স্ট্রিং দুটি আলাদা)১.৩. স্ট্রিং সাবস্ট্রিং বের করা (string range)
string range কমান্ডটি একটি স্ট্রিংয়ের নির্দিষ্ট অংশ বের করে দেয়।
উদাহরণ:
set str "Hello, World!"
set subStr [string range $str 0 4]
puts $subStr ;# আউটপুট: Helloএখানে, "Hello, World!" স্ট্রিংয়ের প্রথম পাঁচটি অক্ষর (০ থেকে ৪ পর্যন্ত) বের করা হয়েছে।
১.৪. স্ট্রিং রিপ্লেসমেন্ট (string replace)
string replace কমান্ডের মাধ্যমে একটি স্ট্রিংয়ের অংশ পরিবর্তন করা যায়।
উদাহরণ:
set str "I like apples"
set newStr [string replace $str 7 12 "oranges"]
puts $newStr ;# আউটপুট: I like orangesএখানে, "apples" শব্দটি "oranges" দিয়ে প্রতিস্থাপন করা হয়েছে।
২. regexp ফাংশন
টিসিএল-এ regexp (regular expression) ফাংশন ব্যবহার করে স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট প্যাটার্ন খুঁজে পাওয়া যায়। এটি স্ট্রিংয়ের মধ্যে মাচিং প্যাটার্নের জন্য পরীক্ষণ করে এবং ম্যাচ পাওয়ার পর প্রয়োজনীয় ফলাফল প্রদান করে।
২.১. স্ট্রিংয়ে প্যাটার্ন খোঁজা (regexp)
regexp কমান্ডটি একটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট নিয়মিত অভিব্যক্তি (regular expression) অনুসারে প্যাটার্ন খুঁজে এবং মিলে গেলে সত্য (true) ফেরত দেয়।
উদাহরণ:
set str "The quick brown fox"
if {[regexp {quick} $str]} {
puts "Found 'quick' in the string"
} else {
puts "Not found"
}এখানে, regexp কমান্ডটি "quick" শব্দটি "The quick brown fox" স্ট্রিংয়ের মধ্যে খুঁজে, যদি প্যাটার্ন মিলে, তবে "Found 'quick' in the string" আউটপুট করবে।
২.২. নির্দিষ্ট অংশ বের করা (regexp with match)
regexp কমান্ডে আপনি স্ট্রিংয়ের মধ্যে একটি অংশ বের করতে পারেন, এবং এটি ফেরত দেয়।
উদাহরণ:
set str "The quick brown fox"
if {[regexp {quick (\w+)} $str match word]} {
puts "Matched word: $word"
} else {
puts "No match"
}এখানে, (\w+) একটি শব্দ খুঁজে বের করার জন্য ব্যবহার করা হচ্ছে, এবং তা word আর্গুমেন্টে ধরে রাখা হচ্ছে।
৩. substr ফাংশন
টিসিএল-এ substr কমান্ডটি একটি স্ট্রিংয়ের নির্দিষ্ট অংশ বের করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট সূচক থেকে শুরু করে, যতটুকু অংশ আপনি চাইবেন তা বের করবে।
উদাহরণ:
set str "Hello, World!"
set subStr [string range $str 7 11]
puts $subStr ;# আউটপুট: Worldএখানে, string range দিয়ে "Hello, World!" স্ট্রিংয়ের ৭ থেকে ১১ পর্যন্ত অংশ (যা "World") বের করা হয়েছে।
৪. অন্য স্ট্রিং ফাংশনসমূহ
টিসিএল-এ স্ট্রিং ম্যানিপুলেশনের জন্য আরও কিছু ফাংশন রয়েছে, যেগুলো খুবই উপকারী:
৪.১. string tolower এবং string toupper
string tolower কমান্ডটি স্ট্রিংয়ের সব অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে এবং string toupper কমান্ডটি সব অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে।
উদাহরণ (tolower):
set str "Hello"
set lowerStr [string tolower $str]
puts $lowerStr ;# আউটপুট: helloউদাহরণ (toupper):
set str "Hello"
set upperStr [string toupper $str]
puts $upperStr ;# আউটপুট: HELLO৪.২. string trim
string trim কমান্ডটি স্ট্রিংয়ের প্রথম এবং শেষের স্পেস (whitespace) মুছে দেয়।
উদাহরণ:
set str " Hello "
set trimmedStr [string trim $str]
puts $trimmedStr ;# আউটপুট: Helloউপসংহার
টিসিএল-এ স্ট্রিং ফাংশনসমূহ খুবই শক্তিশালী এবং সঠিকভাবে ব্যবহার করা হলে স্ট্রিং ম্যানিপুলেশন অনেক সহজ হয়। আপনি স্ট্রিং তুলনা, স্ট্রিং দৈর্ঘ্য বের করা, স্ট্রিং সাবস্ট্রিং বের করা, স্ট্রিং রিপ্লেসমেন্ট, এবং রেগুলার এক্সপ্রেশন ব্যবহার করে স্ট্রিংয়ের মধ্যে মান খুঁজে বের করতে পারেন। টিসিএল-এর string, regexp, substr এবং অন্যান্য স্ট্রিং ফাংশনগুলো স্ট্রিংয়ের উপর কার্যকরী অপারেশন করার জন্য অনেক উপকারী।
Read more