Kotlin এর String এবং String Templates
কটলিনে Strings এবং String Templates ডেটা স্ট্রাকচার এবং টেক্সট ম্যানিপুলেশনের জন্য গুরুত্বপূর্ণ। কটলিনের String গুলি অপরিবর্তনীয় (immutable) এবং String Templates ব্যবহার করে আপনি সহজেই স্ট্রিংয়ের ভেতরে পরিবর্তনশীল ডেটা অন্তর্ভুক্ত করতে পারেন। নিচে Kotlin এর Strings এবং String Templates নিয়ে বিস্তারিত আলোচনা করা হলো:
১. Strings
কটলিনে String হলো একটি সিকোয়েন্স বা চরিত্রের সেট, যা সাধারণত টেক্সট ডেটা ধারণ করতে ব্যবহৃত হয়।
i) String তৈরি করা
উদাহরণ:
val greeting: String = "Hello, World!"
println(greeting) // আউটপুট: Hello, World!
ব্যাখ্যা:
- এখানে
greetingনামের একটি String ভ্যারিয়েবল তৈরি করা হয়েছে।
ii) Multiline Strings
কটলিনে multiline string তৈরি করার জন্য """ (triple quotes) ব্যবহার করা হয়।
উদাহরণ:
val multilineString = """
This is a multiline string.
It can span multiple lines.
"""
println(multilineString)
ব্যাখ্যা:
- এখানে
multilineStringএকটি multiline string, যা বিভিন্ন লাইনে লেখা হয়েছে।
iii) String Methods
কটলিনে Strings এর জন্য বিভিন্ন বিল্ট-ইন মেথড রয়েছে। যেমন:
length: স্ট্রিংয়ের দৈর্ঘ্য ফেরত দেয়।toUpperCase(): স্ট্রিংকে বড় অক্ষরে রূপান্তর করে।toLowerCase(): স্ট্রিংকে ছোট অক্ষরে রূপান্তর করে।substring(startIndex, endIndex): একটি সাবস্ট্রিং ফেরত দেয়।
উদাহরণ:
val text = "Kotlin"
println(text.length) // আউটপুট: 6
println(text.toUpperCase()) // আউটপুট: KOTLIN
println(text.substring(1, 4)) // আউটপুট:otl
২. String Templates
String Templates ব্যবহার করে আপনি Strings এর মধ্যে পরিবর্তনশীল এবং এক্সপ্রেশন অন্তর্ভুক্ত করতে পারেন। এটি কোড লেখাকে সহজ এবং পরিষ্কার করে তোলে।
i) পরিবর্তনশীল অন্তর্ভুক্ত করা
String Templates এ পরিবর্তনশীল অন্তর্ভুক্ত করতে $ চিহ্ন ব্যবহার করা হয়।
উদাহরণ:
val name = "Alice"
val age = 25
val greeting = "My name is $name and I am $age years old."
println(greeting) // আউটপুট: My name is Alice and I am 25 years old.
ব্যাখ্যা:
- এখানে
$nameএবং$ageব্যবহার করে String এ পরিবর্তনশীলের মান অন্তর্ভুক্ত করা হয়েছে।
ii) এক্সপ্রেশন অন্তর্ভুক্ত করা
যদি আপনাকে এক্সপ্রেশন অন্তর্ভুক্ত করতে হয়, তবে {} চিহ্ন ব্যবহার করতে হবে।
উদাহরণ:
val a = 5
val b = 10
println("The sum of $a and $b is ${a + b}.") // আউটপুট: The sum of 5 and 10 is 15.
ব্যাখ্যা:
- এখানে
${a + b}ব্যবহার করে একটি এক্সপ্রেশন অন্তর্ভুক্ত করা হয়েছে।
৩. String Interpolation
কটলিনে String interpolation এর মাধ্যমে আপনি পরিবর্তনশীল এবং এক্সপ্রেশনগুলোকে সহজেই Strings এর মধ্যে অন্তর্ভুক্ত করতে পারেন। এটি কোড লেখাকে আরও পরিষ্কার এবং সংক্ষিপ্ত করে।
উদাহরণ:
val temperature = 30
println("The temperature is ${temperature}°C.") // আউটপুট: The temperature is 30°C.
৪. Escaping Characters
কটলিনে স্ট্রিংয়ের মধ্যে বিশেষ চরিত্র অন্তর্ভুক্ত করতে \ ব্যবহার করা হয়।
উদাহরণ:
val quote = "She said, \"Hello!\""
println(quote) // আউটপুট: She said, "Hello!"
ব্যাখ্যা:
- এখানে
\"ব্যবহার করে স্ট্রিংয়ের মধ্যে ডাবল কোটেশন চিহ্ন অন্তর্ভুক্ত করা হয়েছে।
উপসংহার
কটলিনে Strings এবং String Templates স্ট্রিং ম্যানিপুলেশনের জন্য একটি শক্তিশালী এবং কার্যকরী উপায়। Strings অপরিবর্তনীয় (immutable) এবং String Templates পরিবর্তনশীল এবং এক্সপ্রেশনকে স্ট্রিংয়ে অন্তর্ভুক্ত করার জন্য খুবই কার্যকরী। এই ফিচারগুলো ব্যবহার করে আপনি সহজে এবং স্পষ্টভাবে স্ট্রিং ডেটা পরিচালনা করতে পারেন।
Strings তৈরি এবং ব্যবহার
কটলিনে Strings হলো টেক্সট ডেটার একটি সিকোয়েন্স, যা সাধারণত চরিত্রের একটি সিরিজকে নির্দেশ করে। কটলিনে স্ট্রিংগুলো খুবই সহজে ব্যবহার করা যায় এবং বিভিন্ন কার্যকরী ফিচার সমর্থন করে, যেমন স্ট্রিং ইন্টারপোলেশন, স্ট্রিং অপারেশন, এবং স্ট্রিং মেথড।
১. Strings তৈরি করা
i) স্ট্রিং লিটারেল
কটলিনে স্ট্রিং তৈরি করতে আপনি সহজেই কোটেশন মার্ক ব্যবহার করতে পারেন।
val greeting: String = "Hello, Kotlin!"
ii) Multiline Strings
কটলিনে আপনি তিনটি কোটেশন মার্ক ব্যবহার করে মাল্টিলাইন স্ট্রিং তৈরি করতে পারেন। এটি লাইন ব্রেক এবং ইনডেন্টেশন বজায় রাখতে সাহায্য করে।
val multilineString = """
Hello, Kotlin!
Welcome to the world of programming.
Enjoy coding!
""".trimIndent()
ব্যাখ্যা:
- এখানে তিনটি কোটেশন মার্ক ব্যবহার করা হয়েছে, যা মাল্টিলাইন স্ট্রিং তৈরি করেছে।
trimIndent()ব্যবহার করে ইনডেন্টেশন সরানো হয়েছে।
২. String Interpolation
কটলিনে স্ট্রিং ইন্টারপোলেশন ব্যবহার করে আপনি স্ট্রিংয়ের ভিতরে ভ্যারিয়েবলের মান সহজে অন্তর্ভুক্ত করতে পারেন।
উদাহরণ:
val name = "Alice"
val age = 30
val greeting = "Hello, my name is $name and I am $age years old."
println(greeting) // আউটপুট: Hello, my name is Alice and I am 30 years old.
ব্যাখ্যা:
- এখানে
$nameএবং$ageব্যবহার করে ভ্যারিয়েবলের মান স্ট্রিংয়ের ভিতরে অন্তর্ভুক্ত করা হয়েছে।
Complex Expressions
আপনি কোটেশন মার্কের ভিতরে জটিল এক্সপ্রেশনও ব্যবহার করতে পারেন, যা {} এর ভিতরে রাখতে হয়।
val a = 5
val b = 10
println("The sum of $a and $b is ${a + b}.") // আউটপুট: The sum of 5 and 10 is 15.
৩. String Operations
কটলিনে স্ট্রিংগুলোর উপর বিভিন্ন অপারেশন করা যায়, যেমন:
i) Length
স্ট্রিংয়ের দৈর্ঘ্য জানার জন্য length প্রপার্টি ব্যবহার করা হয়।
val str = "Hello"
println("Length of the string is: ${str.length}") // আউটপুট: 5
ii) Indexing
স্ট্রিংয়ের নির্দিষ্ট ক্যারেক্টার অ্যাক্সেস করতে ইনডেক্স ব্যবহার করা যায়।=
val str = "Kotlin"
println("First character: ${str[0]}") // আউটপুট: K
iii) Substring
স্ট্রিং থেকে সাবস্ট্রিং বের করার জন্য substring() মেথড ব্যবহার করা হয়।
val str = "Hello, Kotlin!"
val subStr = str.substring(7, 13)
println(subStr) // আউটপুট: Kotlin
iv) String Comparison
স্ট্রিং তুলনা করার জন্য == এবং === ব্যবহার করা হয়। == মান তুলনা করে এবং === রেফারেন্স তুলনা করে।
val str1 = "Kotlin"
val str2 = "Kotlin"
val str3 = str1
println(str1 == str2) // আউটপুট: true (মান তুলনা)
println(str1 === str2) // আউটপুট: true (রেফারেন্স তুলনা)
println(str1 === str3) // আউটপুট: true
৪. String Methods
কটলিনে স্ট্রিং এর জন্য অনেক বিল্ট-ইন মেথড রয়েছে, যেমন:
i) toUpperCase() এবং toLowerCase()
val str = "Hello, Kotlin!"
println(str.toUpperCase()) // আউটপুট: HELLO, KOTLIN!
println(str.toLowerCase()) // আউটপুট: hello, kotlin!
ii) trim()
স্ট্রিংয়ের সামনে এবং পেছনে অতিরিক্ত স্পেস সরাতে trim() ব্যবহার করা হয়।
val str = " Hello, Kotlin! "
println(str.trim()) // আউটপুট: Hello, Kotlin!
iii) replace()
স্ট্রিংয়ের ভেতরে একটি শব্দ পরিবর্তন করতে replace() ব্যবহার করা হয়।
val str = "Hello, World!"
val newStr = str.replace("World", "Kotlin")
println(newStr) // আউটপুট: Hello, Kotlin!
৫. String Templates
কটলিনে স্ট্রিং টেমপ্লেট ব্যবহার করে আপনি সহজে ভ্যারিয়েবল এবং এক্সপ্রেশনগুলিকে স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত করতে পারেন।
উদাহরণ:
val name = "Alice"
val age = 25
val greeting = "My name is $name and I am $age years old."
println(greeting) // আউটপুট: My name is Alice and I am 25 years old.
৬. String Builder
যদি আপনি একটি স্ট্রিং তৈরি করতে চান এবং বারবার আপডেট করতে চান, তবে StringBuilder ক্লাস ব্যবহার করা হয়।
উদাহরণ:
val sb = StringBuilder()
sb.append("Hello")
sb.append(", ")
sb.append("Kotlin!")
println(sb.toString()) // আউটপুট: Hello, Kotlin!
উপসংহার
কটলিনে Strings ব্যবহার করা খুব সহজ এবং বিভিন্ন কার্যকরী ফিচার সমর্থন করে। স্ট্রিং তৈরি করা, ব্যবহার করা, এবং অপারেশন করার জন্য কটলিনে অনেক বিল্ট-ইন ফাংশন রয়েছে, যা কোড লেখাকে আরও সহজ এবং কার্যকর করে তোলে।
String Interpolation এবং Templates
কটলিনে String Interpolation এবং Templates ব্যবহারের মাধ্যমে স্ট্রিং তৈরি করা সহজ এবং কার্যকর হয়। এটি কোডকে আরও পরিষ্কার ও রিডেবল করে, কারণ আপনি সহজেই ভ্যারিয়েবলগুলোর মান স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত করতে পারেন। নিচে String Interpolation এবং Templates নিয়ে বিস্তারিত আলোচনা করা হলো:
১. String Interpolation
String Interpolation হলো একটি প্রক্রিয়া যেখানে একটি স্ট্রিংয়ের মধ্যে ভ্যারিয়েবল বা এক্সপ্রেশন অন্তর্ভুক্ত করা হয়। কটলিনে, আপনি $ সিম্বল ব্যবহার করে ভ্যারিয়েবল এবং {} ব্রেসেস ব্যবহার করে এক্সপ্রেশন অন্তর্ভুক্ত করতে পারেন।
i) ভ্যারিয়েবল অন্তর্ভুক্ত করা
fun main() {
val name = "Alice"
val age = 30
val greeting = "Hello, my name is $name and I am $age years old."
println(greeting) // আউটপুট: Hello, my name is Alice and I am 30 years old.
}
ব্যাখ্যা:
- এখানে
$nameএবং$ageভ্যারিয়েবলগুলো সরাসরি স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত করা হয়েছে।
ii) এক্সপ্রেশন অন্তর্ভুক্ত করা
যদি আপনাকে কোনো কমপ্লেক্স এক্সপ্রেশন অন্তর্ভুক্ত করতে হয়, তবে {} ব্রেসেস ব্যবহার করতে হবে।
fun main() {
val a = 5
val b = 10
val result = "The sum of $a and $b is ${a + b}."
println(result) // আউটপুট: The sum of 5 and 10 is 15.
}
ব্যাখ্যা:
- এখানে
${a + b}ব্যবহার করে দুইটি ভ্যারিয়েবলের যোগফল স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত করা হয়েছে।
২. String Templates
String Templates হলো কটলিনের একটি শক্তিশালী ফিচার যা স্ট্রিং তৈরি করার সময় ভ্যারিয়েবল এবং এক্সপ্রেশন অন্তর্ভুক্ত করার একটি উপায়। এটি কটলিনে স্ট্রিং তৈরি করার প্রক্রিয়াকে সহজ করে তোলে।
i) Multiline Strings
কটলিনে multiline strings তৈরি করতে তিনটি ডাবল কোটেশন ব্যবহার করা হয়। এটি লাইন ব্রেক, ট্যাব এবং অন্যান্য স্পেসিংগুলো রক্ষা করে।
উদাহরণ:
fun main() {
val multilineString = """
This is a multiline string.
It can span multiple lines.
Hello, Kotlin!
""".trimIndent()
println(multilineString)
}
ব্যাখ্যা:
- এখানে তিনটি ডাবল কোটেশনের সাহায্যে একটি মাল্টিলাইন স্ট্রিং তৈরি করা হয়েছে।
trimIndent()ফাংশন ব্যবহারের মাধ্যমে ইনডেন্টেশন সরানো হয়েছে।
ii) String Formatting
কটলিনের স্ট্রিং টেমপ্লেট ব্যবহার করে সহজে স্ট্রিং ফরম্যাট করা যায়। এটি বিশেষভাবে কার্যকর যখন আপনি ডেটা ফরম্যাট করতে চান।
উদাহরণ:
fun main() {
val name = "Bob"
val score = 89.567
val formattedString = "Student: $name, Score: %.2f".format(score)
println(formattedString) // আউটপুট: Student: Bob, Score: 89.57
}
ব্যাখ্যা:
- এখানে
.format(score)ব্যবহার করেscoreভ্যারিয়েবলের মানের জন্য দুইটি দশমিক স্থান নির্ধারণ করা হয়েছে।
উপসংহার
কটলিনে String Interpolation এবং Templates ব্যবহারের মাধ্যমে স্ট্রিং তৈরি করা সহজ এবং কার্যকর হয়। এটি ভ্যারিয়েবল এবং এক্সপ্রেশনকে স্ট্রিংয়ের মধ্যে অন্তর্ভুক্ত করে এবং কোডকে আরও পরিষ্কার ও রিডেবল করে। মাল্টিলাইন স্ট্রিং এবং স্ট্রিং ফরম্যাটিংয়ের মাধ্যমে কটলিন স্ট্রিং পরিচালনার জন্য একটি শক্তিশালী টুল প্রদান করে।
String Operations এবং Functions
কটলিনে Strings এর সাথে বিভিন্ন অপারেশন এবং ফাংশন ব্যবহার করে আপনি টেক্সট ডেটাকে ম্যানিপুলেট করতে পারেন। এই অপারেশনগুলো Strings এর দৈর্ঘ্য, সাবস্ট্রিং, ক্যারেক্টার অনুসন্ধান, ফর্ম্যাটিং, এবং আরও অনেক কিছু করতে সহায়তা করে। নিচে কটলিনের String Operations এবং Functions নিয়ে বিস্তারিত আলোচনা করা হলো:
১. Basic String Operations
i) Length
String এর দৈর্ঘ্য জানতে length প্রপার্টি ব্যবহার করা হয়।
উদাহরণ:
val text = "Hello, Kotlin!"
println("Length: ${text.length}") // আউটপুট: Length: 15
ii) Accessing Characters
String এর একটি নির্দিষ্ট ক্যারেক্টার অ্যাক্সেস করতে ইনডেক্স ব্যবহার করা হয়।
উদাহরণ:
val text = "Kotlin"
println("First character: ${text[0]}") // আউটপুট: First character: K
iii) Substring
substring ফাংশন ব্যবহার করে একটি নির্দিষ্ট রেঞ্জের ক্যারেক্টার বা সাবস্ট্রিং পাওয়া যায়।
উদাহরণ:
val text = "Kotlin Programming"
val substring = text.substring(0, 6)
println(substring) // আউটপুট: Kotlin
ব্যাখ্যা:
- এখানে
substring(0, 6)দিয়ে প্রথম 6 টি ক্যারেক্টারকে সাবস্ট্রিং হিসেবে নেওয়া হয়েছে।
iv) Concatenation
Strings একসাথে যোগ করতে + অপারেটর বা plus ফাংশন ব্যবহার করা হয়।
উদাহরণ:
val firstName = "John"
val lastName = "Doe"
val fullName = firstName + " " + lastName
println(fullName) // আউটপুট: John Doe
ব্যাখ্যা:
- এখানে
+অপারেটর ব্যবহার করে দুইটি String যোগ করা হয়েছে।
২. Common String Functions
কটলিনে Strings এর জন্য অনেক বিল্ট-ইন ফাংশন রয়েছে। নিচে কিছু গুরুত্বপূর্ণ ফাংশন নিয়ে আলোচনা করা হলো:
i) toUpperCase() এবং toLowerCase()
String কে বড় বা ছোট অক্ষরে রূপান্তর করতে এই ফাংশনগুলো ব্যবহার করা হয়।
উদাহরণ:
val text = "Hello, Kotlin!"
println(text.toUpperCase()) // আউটপুট: HELLO, KOTLIN!
println(text.toLowerCase()) // আউটপুট: hello, kotlin!
ii) trim()
String এর শুরু এবং শেষ থেকে স্পেস বা নির্দিষ্ট ক্যারেক্টারগুলো সরাতে trim() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
val text = " Hello, Kotlin! "
println(text.trim()) // আউটপুট: Hello, Kotlin!
iii) replace()
String এর নির্দিষ্ট অংশ পরিবর্তন করতে replace() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
val text = "Hello, Kotlin!"
val newText = text.replace("Kotlin", "World")
println(newText) // আউটপুট: Hello, World!
iv) split()
String কে নির্দিষ্টDelimiter ব্যবহার করে অংশে ভাগ করতে split() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
val text = "Apple,Banana,Cherry"
val fruits = text.split(",")
println(fruits) // আউটপুট: [Apple, Banana, Cherry]
v) contains()
String এর মধ্যে নির্দিষ্ট একটি সাবস্ট্রিং রয়েছে কিনা তা জানতে contains() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
val text = "Kotlin Programming"
println(text.contains("Kotlin")) // আউটপুট: true
println(text.contains("Java")) // আউটপুট: false
৩. String Formatting
কটলিনে String কে ফরম্যাট করার জন্য বিভিন্ন উপায় আছে, তবে String Templates সাধারণত সবচেয়ে সহজ এবং কার্যকর।
উদাহরণ:
val name = "Alice"
val age = 25
println("My name is $name and I am $age years old.") // আউটপুট: My name is Alice and I am 25 years old.
৪. Regular Expressions
কটলিনে String ম্যানিপুলেশনের জন্য নিয়মিত অভিব্যক্তি (Regular Expressions) ব্যবহার করা হয়।
উদাহরণ:
val text = "abc123"
val regex = Regex("\\d+") // সংখ্যা অনুসন্ধান করার জন্য
val result = regex.find(text)
println(result?.value) // আউটপুট: 123
উপসংহার
কটলিনে Strings এবং String Functions ডেটা ম্যানিপুলেশন এবং টেক্সট প্রক্রিয়াকরণের জন্য অত্যন্ত কার্যকর। কটলিনের স্ট্রিং অপারেশন এবং ফাংশনগুলো ব্যবহার করে আপনি সহজেই টেক্সট ডেটা পরিচালনা করতে পারেন।
Regular Expressions ব্যবহার করে String Manipulation
কটলিনে Regular Expressions (regex) একটি শক্তিশালী টুল, যা টেক্সট ডেটা বিশ্লেষণ এবং পরিচালনার জন্য ব্যবহৃত হয়। এটি বিভিন্ন প্যাটার্ন অনুযায়ী স্ট্রিং খুঁজে বের করতে, ম্যাচ করতে, এবং পরিবর্তন করতে সহায়ক। নিচে কটলিনে Regular Expressions ব্যবহার করে স্ট্রিং ম্যানিপুলেশন সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. Regular Expressions তৈরি করা
কটলিনে Regular Expressions তৈরি করতে Regex ক্লাস ব্যবহার করা হয়। এই ক্লাসের মাধ্যমে regex প্যাটার্ন তৈরি এবং সেই প্যাটার্ন অনুসারে স্ট্রিংগুলোর উপর অপারেশন করা যায়।
উদাহরণ:
val regex = Regex("Kotlin")
ব্যাখ্যা:
- এখানে
Kotlinশব্দের জন্য একটি regex প্যাটার্ন তৈরি করা হয়েছে।
২. String Matching
স্ট্রিংয়ের সাথে regex প্যাটার্নের মিল খোঁজার জন্য matches(), containsMatchIn(), এবং find() মেথড ব্যবহার করা হয়।
i) matches()
matches() মেথড পুরো স্ট্রিংটির সাথে regex প্যাটার্নটি মেলে কিনা তা চেক করে।
fun main() {
val regex = Regex("^[A-Z][a-z]+$")
val str1 = "Kotlin"
val str2 = "kotlin"
println(regex.matches(str1)) // আউটপুট: true
println(regex.matches(str2)) // আউটপুট: false
}
ব্যাখ্যা:
- এখানে regex প্যাটার্নটি দেখাচ্ছে যে স্ট্রিংটি একটি বড় অক্ষরে শুরু হতে হবে এবং পরে ছোট অক্ষরের একটি সিকোয়েন্স থাকতে হবে।
ii) containsMatchIn()
containsMatchIn() মেথড ব্যবহার করে চেক করা যায় যে স্ট্রিংয়ের মধ্যে কোনো প্যাটার্ন মেলে কিনা।
fun main() {
val regex = Regex("Kotlin")
val str = "I love Kotlin programming."
println(regex.containsMatchIn(str)) // আউটপুট: true
}
iii) find()
find() মেথড প্রথম মেলানো অংশ বের করে। এটি MatchResult? টাইপের রিটার্ন করে।
fun main() {
val regex = Regex("\\d+") // একটি বা একাধিক ডিজিটের জন্য প্যাটার্ন
val str = "I have 2 apples and 5 oranges."
val matchResult = regex.find(str)
println(matchResult?.value) // আউটপুট: 2
}
ব্যাখ্যা:
- এখানে regex প্যাটার্নটি একটি বা একাধিক ডিজিট খুঁজে বের করছে এবং প্রথম মিল খুঁজে পাওয়া গেলে তা প্রিন্ট করছে।
৩. String Replacement
replace() মেথড ব্যবহার করে regex প্যাটার্নের সাথে মিলে যাওয়া অংশগুলি প্রতিস্থাপন করা যায়।
উদাহরণ:
fun main() {
val regex = Regex("\\d+") // ডিজিটের জন্য প্যাটার্ন
val str = "I have 2 apples and 5 oranges."
val newStr = str.replace(regex, "#")
println(newStr) // আউটপুট: I have # apples and # oranges.
}
ব্যাখ্যা:
- এখানে ডিজিটের জন্য প্যাটার্ন ব্যবহার করে
replace()মেথড ডিজিটগুলোকে#দিয়ে প্রতিস্থাপন করছে।
৪. String Splitting
split() মেথড ব্যবহার করে একটি স্ট্রিংকে regex প্যাটার্নের ভিত্তিতে বিভক্ত করা যায়।
উদাহরণ:
fun main() {
val regex = Regex("[, ]+") // কমা বা স্পেস দ্বারা বিভাজক
val str = "apple, orange, banana, grape"
val fruits = str.split(regex)
println(fruits) // আউটপুট: [apple, orange, banana, grape]
}
ব্যাখ্যা:
- এখানে কমা বা স্পেস দ্বারা স্ট্রিংকে বিভক্ত করা হচ্ছে।
৫. Regex Flags
কটলিনে Regex ক্লাসে কিছু ফ্ল্যাগ ব্যবহার করে প্যাটার্নের আচরণ নিয়ন্ত্রণ করা যায়, যেমন IGNORE_CASE।
উদাহরণ:
fun main() {
val regex = Regex("kotlin", RegexOption.IGNORE_CASE)
val str = "I love Kotlin programming."
println(regex.containsMatchIn(str)) // আউটপুট: true
}
ব্যাখ্যা:
IGNORE_CASEফ্ল্যাগ ব্যবহার করে প্যাটার্নের ক্ষেত্রে কোনও ভেদাভেদ করা হচ্ছে না।
উপসংহার
কটলিনে Regular Expressions একটি অত্যন্ত শক্তিশালী টুল যা স্ট্রিং ম্যানিপুলেশনকে সহজ এবং কার্যকর করে। আপনি regex ব্যবহার করে স্ট্রিং ম্যাচিং, পরিবর্তন, বিভক্তকরণ এবং ফিল্টারিং করতে পারেন। কটলিনের বিল্ট-ইন regex ফিচারগুলি আপনার কোডকে আরও রিডেবল এবং কার্যকর করে তোলে।
Read more