Swift-এ স্ট্রিং এবং ক্যারেক্টার
Swift-এ স্ট্রিং হলো টেক্সট বা ক্যারেক্টারগুলির একটি সিকোয়েন্স, যা একত্রে মিলে একটি অর্থবোধক টেক্সট তৈরি করে। স্ট্রিং Swift-এর বিল্ট-ইন ডেটা টাইপ এবং এটি উচ্চমানের ডেটা ম্যানিপুলেশন ফিচার সমর্থন করে। অন্যদিকে, ক্যারেক্টার একটি ইউনিট যা একটি স্ট্রিং তৈরি করতে ব্যবহার করা হয়।
স্ট্রিং-এর ডিক্লেয়ারেশন
Swift-এ স্ট্রিং ডাবল কোটেশন (" ") ব্যবহার করে ডিক্লেয়ার করা হয়।
let greeting = "Hello, World!"
- এখানে,
greetingএকটি স্ট্রিং যা "Hello, World!" মান সংরক্ষণ করে।
স্ট্রিং কনক্যাটেনেশন
স্ট্রিং কনক্যাটেনেশনের মাধ্যমে দুটি বা একাধিক স্ট্রিং একত্রিত করা যায়:
let firstName = "Alice"
let lastName = "Smith"
let fullName = firstName + " " + lastName // আউটপুট: "Alice Smith"
স্ট্রিং ইন্টারপোলেশন
স্ট্রিং ইন্টারপোলেশন ব্যবহার করে স্ট্রিং-এর মধ্যে ভেরিয়েবল বা এক্সপ্রেশন যোগ করা যায়:
let age = 25
let message = "I am \(age) years old."
মাল্টি-লাইন স্ট্রিং
Swift-এ মাল্টি-লাইন স্ট্রিং তৈরি করতে ট্রিপল কোটেশন (""") ব্যবহার করা হয়:
let multiLine = """
This is a multi-line
string in Swift.
"""
ক্যারেক্টার ডিক্লেয়ারেশন
Swift-এ ক্যারেক্টার একটি একক ইউনিট হিসেবে ডিক্লেয়ার করা যায়:
let letter: Character = "A"
স্ট্রিং ম্যানিপুলেশন
Swift-এ স্ট্রিং এবং ক্যারেক্টারের বিভিন্ন ফিচার রয়েছে যা স্ট্রিং ম্যানিপুলেশন সহজ করে:
স্ট্রিং দৈর্ঘ্য নির্ধারণ:
let count = greeting.count // আউটপুট: 13
স্ট্রিং অ্যাক্সেসিং:
let firstCharacter = greeting[greeting.startIndex] // আউটপুট: "H"
let lastCharacter = greeting[greeting.index(before: greeting.endIndex)] // আউটপুট: "!"
স্ট্রিং অ্যাপেন্ডিং:
var message = "Hello"
message.append("!")
স্ট্রিং সাবস্ট্রিং:
let startIndex = greeting.index(greeting.startIndex, offsetBy: 7)
let substring = greeting[startIndex...] // আউটপুট: "World!"
ক্যারেক্টার লুপিং
for char in "Swift" {
print(char) // প্রতিটি ক্যারেক্টার এক এক করে প্রিন্ট হবে
}
স্ট্রিং তুলনা
Swift-এ স্ট্রিং তুলনা করা যায় == এবং != অপারেটর ব্যবহার করে:
let string1 = "Hello"
let string2 = "World"
if string1 == string2 {
print("Strings are equal")
} else {
print("Strings are not equal")
}
সংক্ষেপে
Swift-এ স্ট্রিং এবং ক্যারেক্টার ম্যানিপুলেশন অত্যন্ত শক্তিশালী এবং ব্যবহার বান্ধব। স্ট্রিং ইন্টারপোলেশন, মাল্টি-লাইন স্ট্রিং, এবং স্ট্রিং ম্যানিপুলেশনের সুবিধা প্রোগ্রামিং-এর সময় দ্রুত ও কার্যকরভাবে কাজ করতে সাহায্য করে।
Swift-এ স্ট্রিং ম্যানিপুলেশন হলো স্ট্রিং-এর উপর বিভিন্ন ধরনের অপারেশন বা পরিবর্তন করা, যেমন স্ট্রিং যোগ করা, সাবস্ট্রিং বের করা, স্ট্রিং ফরম্যাটিং করা ইত্যাদি। Swift-এ স্ট্রিং ম্যানিপুলেশনের জন্য বিভিন্ন বিল্ট-ইন মেথড এবং ফাংশন রয়েছে, যা স্ট্রিংকে সহজে এবং কার্যকরভাবে প্রসেস করতে সাহায্য করে।
১. স্ট্রিং যুক্ত করা (Concatenation)
Swift-এ + অপারেটর ব্যবহার করে সহজেই দুটি স্ট্রিং যুক্ত করা যায়।
let firstName = "Alice"
let lastName = "Smith"
let fullName = firstName + " " + lastName
print(fullName) // Output: "Alice Smith"
- এখানে
firstNameএবংlastNameযুক্ত করে একটি নতুন স্ট্রিংfullNameতৈরি করা হয়েছে।
২. স্ট্রিং ইন্টারপোলেশন (String Interpolation)
স্ট্রিং ইন্টারপোলেশন ব্যবহার করে আমরা ভেরিয়েবল বা এক্সপ্রেশন সরাসরি স্ট্রিংয়ের মধ্যে বসাতে পারি।
let name = "Bob"
let age = 25
let message = "My name is \(name) and I am \(age) years old."
print(message) // Output: "My name is Bob and I am 25 years old."
- এখানে,
\(name)এবং\(age)ব্যবহার করে স্ট্রিংয়ের মধ্যে ভেরিয়েবল যুক্ত করা হয়েছে।
৩. স্ট্রিং দৈর্ঘ্য বের করা (String Length)
Swift-এ .count প্রপার্টি ব্যবহার করে স্ট্রিংয়ের দৈর্ঘ্য বের করা যায়।
let text = "Hello, Swift!"
let length = text.count
print(length) // Output: 13
- এখানে,
textস্ট্রিংটির দৈর্ঘ্য বের করা হয়েছে, যা"Hello, Swift!"-এর মোট ক্যারেক্টারের সংখ্যা।
৪. সাবস্ট্রিং বের করা (Substring)
Swift-এ সাবস্ট্রিং বের করার জন্য .prefix(), .suffix() এবং রেঞ্জ ব্যবহার করা যায়।
let message = "Welcome to Swift Programming"
// প্রথম ৭টি ক্যারেক্টার
let prefix = message.prefix(7)
print(prefix) // Output: "Welcome"
// শেষ ১১টি ক্যারেক্টার
let suffix = message.suffix(11)
print(suffix) // Output: "Programming"
// নির্দিষ্ট রেঞ্জের সাবস্ট্রিং
let start = message.index(message.startIndex, offsetBy: 8)
let end = message.index(message.startIndex, offsetBy: 13)
let substring = message[start..<end]
print(substring) // Output: "to Swi"
৫. স্ট্রিং পরিবর্তন করা (Modifying Strings)
i. স্ট্রিং অ্যাপেন্ড করা
স্ট্রিংয়ে নতুন টেক্সট যোগ করার জন্য .append() মেথড ব্যবহার করা যায়।
var greeting = "Hello"
greeting.append(", World!")
print(greeting) // Output: "Hello, World!"
ii. নির্দিষ্ট পজিশনে ক্যারেক্টার পরিবর্তন করা
var word = "Cat"
if let index = word.firstIndex(of: "C") {
word.replaceSubrange(index...index, with: "B")
}
print(word) // Output: "Bat"
- এখানে
"Cat"স্ট্রিংটির প্রথম ক্যারেক্টার"C"পরিবর্তন করে"B"করা হয়েছে।
৬. স্ট্রিং বিভক্ত করা (Splitting Strings)
.split() মেথড ব্যবহার করে স্ট্রিংকে একটি নির্দিষ্ট ক্যারেক্টারের ভিত্তিতে বিভক্ত করা যায়।
let sentence = "Swift is fun and powerful"
let words = sentence.split(separator: " ")
print(words) // Output: ["Swift", "is", "fun", "and", "powerful"]
- এখানে, স্পেস
" "ক্যারেক্টার দিয়ে স্ট্রিং বিভক্ত করে একটি অ্যারে তৈরি করা হয়েছে।
৭. স্ট্রিং ট্রিম করা (Trimming)
.trimmingCharacters(in:) মেথড ব্যবহার করে স্ট্রিংয়ের শুরু এবং শেষ থেকে নির্দিষ্ট ক্যারেক্টার সরানো যায় (যেমন স্পেস, নিউলাইন ইত্যাদি)।
let rawString = " Hello, Swift! \n"
let trimmedString = rawString.trimmingCharacters(in: .whitespacesAndNewlines)
print(trimmedString) // Output: "Hello, Swift!"
- এখানে, স্ট্রিংয়ের শুরু এবং শেষে থাকা স্পেস এবং নিউলাইন ক্যারেক্টার সরানো হয়েছে।
৮. স্ট্রিং ফরম্যাটিং
Swift-এ String(format:) মেথড ব্যবহার করে স্ট্রিং ফরম্যাট করা যায়।
let pi = 3.14159
let formattedString = String(format: "Value of pi is %.2f", pi)
print(formattedString) // Output: "Value of pi is 3.14"
- এখানে,
%.2fব্যবহার করে দশমিক সংখ্যার মাত্র দুটি ডিজিট দেখানো হয়েছে।
৯. ক্যারেক্টারগুলো বড় বা ছোট করা (Uppercasing and Lowercasing)
Swift-এ .uppercased() এবং .lowercased() মেথড ব্যবহার করে স্ট্রিংকে বড় হরফে বা ছোট হরফে রূপান্তর করা যায়।
let text = "Swift Programming"
print(text.uppercased()) // Output: "SWIFT PROGRAMMING"
print(text.lowercased()) // Output: "swift programming"
১০. স্ট্রিং-এর মধ্যে অনুসন্ধান করা (Finding Substrings)
.contains() মেথড ব্যবহার করে স্ট্রিংয়ের মধ্যে নির্দিষ্ট সাবস্ট্রিং আছে কিনা তা চেক করা যায়।
let message = "Swift is a powerful language"
let containsPowerful = message.contains("powerful")
print(containsPowerful) // Output: true
- এখানে, চেক করা হয়েছে যে
"powerful"শব্দটি স্ট্রিংয়ের মধ্যে আছে কিনা।
উপসংহার
Swift-এ স্ট্রিং ম্যানিপুলেশনের জন্য প্রচুর বিল্ট-ইন মেথড এবং ফাংশন রয়েছে, যা স্ট্রিং প্রসেসিংকে সহজ, কার্যকর এবং ফ্লেক্সিবল করে তোলে।
- স্ট্রিং যুক্ত করা, সাবস্ট্রিং বের করা, ট্রিম করা, এবং ফরম্যাটিং-এর মতো বিভিন্ন অপারেশন সহজেই Swift-এর স্ট্রিং মেথড ব্যবহার করে করা যায়।
- এসব মেথড ব্যবহার করে আপনি আপনার প্রোগ্রামে স্ট্রিং ম্যানিপুলেশন আরও সহজ এবং কার্যকরভাবে করতে পারবেন।
Swift-এ স্ট্রিং ইন্টারপোলেশন
স্ট্রিং ইন্টারপোলেশন Swift-এ একটি শক্তিশালী ফিচার, যা ব্যবহার করে স্ট্রিং-এর মধ্যে ভেরিয়েবল, এক্সপ্রেশন, বা অন্য স্ট্রিং ভ্যালু সন্নিবেশ করা যায়। এটি স্ট্রিংকে ডাইনামিক এবং আরও রিডেবল করে তোলে। স্ট্রিং ইন্টারপোলেশন করার জন্য Swift-এ \() সিনট্যাক্স ব্যবহার করা হয়।
স্ট্রিং ইন্টারপোলেশনের সিনট্যাক্স
let variable = "value"
print("This is a \(variable).")
এখানে, \() এর ভিতরে আপনি যে কোনো ভেরিয়েবল, এক্সপ্রেশন বা ফাংশন কল লিখতে পারেন, যা স্ট্রিংয়ের সাথে মিশে যাবে।
স্ট্রিং ইন্টারপোলেশনের উদাহরণ
উদাহরণ ১: ভেরিয়েবল সন্নিবেশ করা
let name = "Alice"
let age = 25
print("My name is \(name) and I am \(age) years old.")
আউটপুট:
My name is Alice and I am 25 years old.
এখানে, name এবং age ভেরিয়েবলগুলির মান স্ট্রিং-এর ভিতরে সন্নিবেশ করা হয়েছে।
উদাহরণ ২: এক্সপ্রেশন সন্নিবেশ করা
let width = 10
let height = 5
print("The area of the rectangle is \(width * height) square units.")
আউটপুট:
The area of the rectangle is 50 square units.
এখানে, width * height একটি এক্সপ্রেশন, যা স্ট্রিং-এর মধ্যে ডাইনামিক্যালি গণনা করে সন্নিবেশ করা হয়েছে।
উদাহরণ ৩: ফাংশন কল সন্নিবেশ করা
func greet(name: String) -> String {
return "Hello, \(name)!"
}
let userName = "Bob"
print("\(greet(name: userName)) Welcome to Swift programming.")
আউটপুট:
Hello, Bob! Welcome to Swift programming.
এখানে, greet ফাংশনটি স্ট্রিং ইন্টারপোলেশনের মধ্যে কল করা হয়েছে, যা ফাংশনের আউটপুটকে স্ট্রিংয়ের সাথে একত্রিত করেছে।
স্ট্রিং ইন্টারপোলেশনের সুবিধা
- সহজ এবং পরিষ্কার কোড: স্ট্রিং ইন্টারপোলেশন ব্যবহার করে স্ট্রিং এবং ভেরিয়েবল একত্রিত করা সহজ হয়। এটি কোডকে আরও রিডেবল এবং সংক্ষিপ্ত করে।
- ডাইনামিক স্ট্রিং তৈরি: ভেরিয়েবল, এক্সপ্রেশন এবং ফাংশন ব্যবহার করে ডাইনামিক স্ট্রিং তৈরি করা যায়।
- কনসাইজ কোড: স্ট্রিং কনক্যাটেনেশনের তুলনায় স্ট্রিং ইন্টারপোলেশন ব্যবহার করে কোড ছোট এবং সহজ হয়।
কিছু অতিরিক্ত উদাহরণ
উদাহরণ ৪: মাল্টি-লাইন স্ট্রিং ইন্টারপোলেশন
Swift-এ মাল্টি-লাইন স্ট্রিং (""") ব্যবহার করে আপনি ইন্টারপোলেশন করতে পারেন:
let product = "Laptop"
let price = 1500
let message = """
Product: \(product)
Price: $\(price)
Thank you for your purchase!
"""
print(message)
আউটপুট:
Product: Laptop
Price: $1500
Thank you for your purchase!
উপসংহার
Swift-এ স্ট্রিং ইন্টারপোলেশন একটি শক্তিশালী এবং সুবিধাজনক ফিচার, যা স্ট্রিংয়ের মধ্যে ভেরিয়েবল, এক্সপ্রেশন, এবং ফাংশনের আউটপুট সন্নিবেশ করা সহজ করে তোলে। এটি স্ট্রিং ম্যানিপুলেশনকে আরও কার্যকর এবং রিডেবল করে, যা Swift প্রোগ্রামিংয়ে একটি গুরুত্বপূর্ণ অংশ।
Swift-এ স্ট্রিং মেথড এবং প্রপার্টি স্ট্রিং ম্যানিপুলেশন সহজ করে। নিচে স্ট্রিং-এর কিছু সাধারণ মেথড এবং প্রপার্টি আলোচনা করা হলো:
স্ট্রিং প্রপার্টি:
count: স্ট্রিং-এর দৈর্ঘ্য (ক্যারেক্টারের সংখ্যা) নির্ধারণ করে।
let text = "Hello"
print(text.count) // আউটপুট: 5
isEmpty: স্ট্রিং খালি কিনা তা যাচাই করে।
let text = ""
print(text.isEmpty) // আউটপুট: true
first এবং last: স্ট্রিং-এর প্রথম এবং শেষ ক্যারেক্টার রিটার্ন করে।
let text = "Swift"
print(text.first) // আউটপুট: Optional("S")
print(text.last) // আউটপুট: Optional("t")
স্ট্রিং মেথড:
uppercased() এবং lowercased(): স্ট্রিং-এর অক্ষরগুলো বড় বা ছোট করে।
let text = "Hello"
print(text.uppercased()) // আউটপুট: "HELLO"
print(text.lowercased()) // আউটপুট: "hello"
contains(_:): একটি নির্দিষ্ট সাবস্ট্রিং আছে কিনা তা যাচাই করে।
let text = "Hello, World!"
print(text.contains("World")) // আউটপুট: true
replacingOccurrences(of:with:): স্ট্রিং-এর নির্দিষ্ট অংশ পরিবর্তন করতে ব্যবহৃত হয়।
let text = "Swift is cool"
let modifiedText = text.replacingOccurrences(of: "cool", with: "awesome")
print(modifiedText) // আউটপুট: "Swift is awesome"
hasPrefix(_:) এবং hasSuffix(_:): স্ট্রিং একটি নির্দিষ্ট প্রিফিক্স বা সাফিক্স দিয়ে শুরু বা শেষ হচ্ছে কিনা তা যাচাই করে।
let text = "Hello, Swift!"
print(text.hasPrefix("Hello")) // আউটপুট: true
print(text.hasSuffix("Swift!")) // আউটপুট: true
append(_:): স্ট্রিং-এর শেষে নতুন ক্যারেক্টার বা টেক্সট যোগ করতে ব্যবহৃত হয়।
var greeting = "Hi"
greeting.append(" there!")
print(greeting) // আউটপুট: "Hi there!"
split(separator:): স্ট্রিংকে নির্দিষ্ট একটি সেপারেটরের ভিত্তিতে ভেঙে অ্যারের আকারে উপাদান রিটার্ন করে।
let sentence = "Swift is powerful"
let words = sentence.split(separator: " ")
print(words) // আউটপুট: ["Swift", "is", "powerful"]
উদাহরণ: বিভিন্ন স্ট্রিং মেথড একসাথে ব্যবহার করা
var quote = "The quick brown fox jumps over the lazy dog."
print(quote.count) // আউটপুট: 44
print(quote.uppercased()) // আউটপুট: "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG."
print(quote.contains("fox")) // আউটপুট: true
quote = quote.replacingOccurrences(of: "lazy", with: "energetic")
print(quote) // আউটপুট: "The quick brown fox jumps over the energetic dog."
সংক্ষেপে
Swift-এ স্ট্রিং মেথড এবং প্রপার্টিগুলি স্ট্রিং ম্যানিপুলেশন সহজ, কার্যকর এবং শক্তিশালী করে তোলে। বিভিন্ন মেথড এবং প্রপার্টি ব্যবহার করে স্ট্রিং তৈরি, পরিবর্তন, এবং বিশ্লেষণ করা যায়। Swift প্রোগ্রামিং দক্ষতা বাড়াতে স্ট্রিং মেথড এবং প্রপার্টি ভালোভাবে আয়ত্ত করা জরুরি।
Read more