ভিবিস্ক্রিপ্ট (VBScript) স্ট্রিং ম্যানিপুলেশন এবং প্যাটার্ন ম্যাচিংয়ের জন্য শক্তিশালী ফিচার প্রদান করে, যা ডেটা প্রসেসিং এবং টেক্সট বিশ্লেষণে সহায়ক। VBScript তে স্ট্রিং সম্পর্কিত কার্যাবলী যেমন স্ট্রিং যোগ করা, কাটিং, প্যাটার্ন ম্যাচিং ইত্যাদি করা যায়। এখানে আমরা আলোচনা করব কিভাবে স্ট্রিং ম্যানিপুলেশন এবং প্যাটার্ন ম্যাচিং করা যায়, যেমন Regular Expressions (RegEx) ব্যবহার।
১. স্ট্রিং ম্যানিপুলেশন
VBScript এ স্ট্রিং ম্যানিপুলেশন অত্যন্ত সহজ, এবং এটি অনেকগুলো বিল্ট-ইন ফাংশন প্রদান করে। এই ফাংশনগুলি ব্যবহার করে স্ট্রিংকে পরিবর্তন, অনুসন্ধান এবং বিশ্লেষণ করা যায়।
স্ট্রিং যোগ করা (Concatenation)
স্ট্রিং যোগ করতে & অপারেটর ব্যবহার করা হয়।
উদাহরণ:
Dim firstName, lastName, fullName
firstName = "John"
lastName = "Doe"
' স্ট্রিং যোগ করা
fullName = firstName & " " & lastName
MsgBox fullName ' আউটপুট: John Doe
স্ট্রিং দৈর্ঘ্য বের করা (Finding String Length)
Len() ফাংশন ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য বের করা যায়।
উদাহরণ:
Dim text, length
text = "Hello, World!"
' স্ট্রিং দৈর্ঘ্য বের করা
length = Len(text)
MsgBox length ' আউটপুট: 13
স্ট্রিংয়ের মধ্যে অংশ বের করা (Extracting Substring)
Mid() ফাংশন ব্যবহার করে স্ট্রিংয়ের একটি নির্দিষ্ট অংশ বের করা যায়।
উদাহরণ:
Dim text, part
text = "Hello, World!"
' স্ট্রিংয়ের 8তম চরিত্র থেকে 5টি অক্ষর বের করা
part = Mid(text, 8, 5)
MsgBox part ' আউটপুট: World
স্ট্রিংয়ের অংশ প্রতিস্থাপন (Replacing Substring)
Replace() ফাংশন দিয়ে স্ট্রিংয়ের একটি অংশ অন্য অংশ দিয়ে প্রতিস্থাপন করা যায়।
উদাহরণ:
Dim text, updatedText
text = "Hello, World!"
updatedText = Replace(text, "World", "VBScript")
MsgBox updatedText ' আউটপুট: Hello, VBScript
স্ট্রিংয়ের মধ্যে স্থান (Whitespace) সরানো (Trimming Whitespace)
Trim() ফাংশন স্ট্রিংয়ের শুরু এবং শেষের স্থান মুছে ফেলে।
উদাহরণ:
Dim text, trimmedText
text = " Hello, World! "
' স্ট্রিংয়ের উভয় পাশে স্থান মুছে ফেলা
trimmedText = Trim(text)
MsgBox trimmedText ' আউটপুট: Hello, World!
২. প্যাটার্ন ম্যাচিং (Pattern Matching)
ভিবিস্ক্রিপ্টে Regular Expressions (RegEx) ব্যবহার করে স্ট্রিংয়ের প্যাটার্ন ম্যাচিং করা যায়। RegExp অবজেক্ট ব্যবহার করে আপনি স্ট্রিংয়ের মধ্যে নির্দিষ্ট প্যাটার্ন খুঁজে বের করতে পারেন, যেমন ইমেইল ঠিকানা, ফোন নম্বর, বা নির্দিষ্ট শব্দ।
RegExp অবজেক্ট ব্যবহার করা
RegExp অবজেক্ট ব্যবহার করে স্ট্রিংয়ের প্যাটার্ন ম্যাচিং করা হয়।
উদাহরণ: RegExp ব্যবহার করে প্যাটার্ন ম্যাচিং
Dim regEx, str, matches
' RegExp অবজেক্ট তৈরি করা
Set regEx = CreateObject("VBScript.RegExp")
' প্যাটার্ন সেট করা (যেমন: ইমেইল ঠিকানা)
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b"
' স্ট্রিং প্যাটার্ন মিলানো
str = "My email is john.doe@example.com and jane_doe@company.org."
Set matches = regEx.Execute(str)
' ম্যাচিং ফলাফল প্রদর্শন করা
For Each match In matches
MsgBox "Match found: " & match.Value
Next
Set regEx = Nothing
এখানে:
- Pattern: ইমেইল ঠিকানার প্যাটার্ন নির্ধারণ করা হয়েছে।
- Execute(): এটি স্ট্রিংয়ের মধ্যে প্যাটার্ন খুঁজে এবং ম্যাচিং ফলাফল প্রদান করে।
RegExp ব্যবহার করে স্ট্রিং চেক করা
এছাড়াও আপনি Test() মেথড ব্যবহার করে প্যাটার্নের সাথে স্ট্রিংটি মিলছে কিনা তা চেক করতে পারেন।
Dim regEx, str
Set regEx = CreateObject("VBScript.RegExp")
regEx.IgnoreCase = True
regEx.Pattern = "^Hello"
str = "Hello, World!"
' স্ট্রিং প্যাটার্নের সাথে মিলছে কিনা পরীক্ষা করা
If regEx.Test(str) Then
MsgBox "Match found!"
Else
MsgBox "No match found."
End If
Set regEx = Nothing
এখানে:
- Test() মেথডটি স্ট্রিংটি প্যাটার্নের সাথে মিলছে কিনা তা পরীক্ষা করে।
৩. স্ট্রিংয়ের মধ্যে নির্দিষ্ট শব্দ খোঁজা (Finding Substring)
InStr() ফাংশন ব্যবহার করে আপনি স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট শব্দ বা অংশ খুঁজে পেতে পারেন।
Dim text, position
text = "Hello, World!"
' 'World' শব্দটি কোথায় আছে তা খোঁজা
position = InStr(text, "World")
If position > 0 Then
MsgBox "'World' found at position: " & position
Else
MsgBox "'World' not found."
End If
এখানে:
- InStr() ফাংশনটি স্ট্রিংয়ের মধ্যে নির্দিষ্ট শব্দের অবস্থান দেয়। যদি শব্দটি পাওয়া না যায় তবে এটি 0 রিটার্ন করবে।
সারাংশ
ভিবিস্ক্রিপ্টে স্ট্রিং ম্যানিপুলেশন এবং প্যাটার্ন ম্যাচিং করার জন্য বিভিন্ন শক্তিশালী ফাংশন এবং অবজেক্ট রয়েছে। আপনি Len(), Mid(), Replace() ইত্যাদি ফাংশন দিয়ে স্ট্রিং ম্যানিপুলেশন করতে পারেন এবং RegExp অবজেক্ট ব্যবহার করে প্যাটার্ন ম্যাচিং (যেমন ইমেইল ঠিকানা, ফোন নম্বর) করতে পারেন। InStr(), Trim() ইত্যাদি ফাংশন আপনাকে স্ট্রিংয়ের মধ্যে নির্দিষ্ট অংশ খুঁজে এবং স্ট্রিং পরিষ্কার করতে সাহায্য করবে।
Read more