String Manipulation Techniques এবং Iteration

Range এবং Strings (রেঞ্জ এবং স্ট্রিংস) - স্কালা কালেকশন (Scala Collections) - Computer Programming

338

স্কালাতে স্ট্রিং ম্যানিপুলেশন এবং ইটারেশন একটি গুরুত্বপূর্ণ অংশ, যা ডেটাকে কাস্টমাইজ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়। স্কালাতে স্ট্রিংসের সাথে কাজ করার জন্য নানা ধরনের শক্তিশালী পদ্ধতি রয়েছে, যেমন স্ট্রিং কনক্যাটেনেশন, সাবস্ট্রিং এক্সট্রাকশন, রেপ্লেসমেন্ট, এবং ফর্ম্যাটিং। ইটারেশন পদ্ধতিগুলি স্ট্রিংয়ের উপাদানগুলো বা সংগ্রহে থাকা ডেটার উপর কাজ করার জন্য ব্যবহৃত হয়।


স্ট্রিং ম্যানিপুলেশন টেকনিকস (String Manipulation Techniques)

  1. স্ট্রিং কনক্যাটেনেশন (String Concatenation):
    স্কালাতে স্ট্রিংগুলোকে যোগ করার জন্য সাধারণভাবে + অপারেটর বা concat() মেথড ব্যবহার করা হয়।

    উদাহরণ:

    val str1 = "Hello"
    val str2 = "World"
    
    val result = str1 + " " + str2  // "Hello World"
    println(result)
  2. স্ট্রিংয়ের সাবস্ট্রিং এক্সট্রাকশন (Substring Extraction):
    স্ট্রিংয়ের নির্দিষ্ট অংশ এক্সট্রাক্ট করতে substring() মেথড ব্যবহার করা হয়। এটি একটি নির্দিষ্ট স্টার্ট ইনডেক্স এবং (ঐচ্ছিকভাবে) এন্ড ইনডেক্স নেয়।

    উদাহরণ:

    val str = "Hello Scala"
    val subStr = str.substring(0, 5)  // "Hello"
    println(subStr)
  3. স্ট্রিং রেপ্লেসমেন্ট (String Replacement):
    স্ট্রিংয়ের নির্দিষ্ট অংশ বা চরিত্র পরিবর্তন করতে replace() মেথড ব্যবহার করা হয়।

    উদাহরণ:

    val str = "Hello Scala"
    val newStr = str.replace("Scala", "World")  // "Hello World"
    println(newStr)
  4. স্ট্রিং ফরম্যাটিং (String Formatting):
    স্ট্রিং ফরম্যাটিংয়ের জন্য printf বা s"..." ইন্টারপোলেশন ব্যবহার করা যায়।

    উদাহরণ:

    val name = "Alice"
    val age = 25
    println(s"My name is $name and I am $age years old.")  // My name is Alice and I am 25 years old.
  5. স্ট্রিং কেস কনভার্সন (Case Conversion):
    স্ট্রিংয়ের কেস পরিবর্তন করতে toUpperCase() বা toLowerCase() ব্যবহার করা হয়।

    উদাহরণ:

    val str = "Hello Scala"
    val upperStr = str.toUpperCase()  // "HELLO SCALA"
    val lowerStr = str.toLowerCase()  // "hello scala"
    println(upperStr)
    println(lowerStr)
  6. স্ট্রিংয়ের দৈর্ঘ্য (Length of String):
    স্ট্রিংয়ের দৈর্ঘ্য জানার জন্য length প্রপার্টি ব্যবহার করা হয়।

    উদাহরণ:

    val str = "Hello Scala"
    println(str.length)  // 11
  7. স্ট্রিং স্প্লিট (String Split):
    স্ট্রিংয়ের অংশগুলো আলাদা করতে split() মেথড ব্যবহার করা হয়।

    উদাহরণ:

    val str = "apple,banana,cherry"
    val fruits = str.split(",")  // Array("apple", "banana", "cherry")
    fruits.foreach(println)

ইটারেশন (Iteration)

ইটারেশন বলতে একটি সংগ্রহের উপাদানগুলির উপর একটি নির্দিষ্ট পদ্ধতিতে লুপ চালানো বুঝানো হয়। স্কালাতে বিভিন্ন ধরনের লুপ এবং ফাংশনাল ইটারেশন টেকনিক রয়েছে, যেমন for লুপ, foreach, map, filter, fold, reduce ইত্যাদি।

  1. ফর লুপ (For Loop):
    for লুপ ব্যবহার করে একটি রেঞ্জ বা লিস্টের উপর ইটারেট করা যায়।

    উদাহরণ:

    for (i <- 1 to 5) {
      println(i)  // 1 2 3 4 5
    }
  2. ফর-ইচ লুপ (For-Each Loop):
    foreach() মেথড ব্যবহার করে একটি লিস্ট বা কালেকশনের উপাদানগুলির উপর লুপ চালানো যায়।

    উদাহরণ:

    val numbers = List(1, 2, 3, 4, 5)
    numbers.foreach(println)  // 1 2 3 4 5
  3. ম্যাপ (Map):
    map() ব্যবহার করে একটি কালেকশনের প্রতিটি উপাদানে একটি ফাংশন প্রয়োগ করা হয় এবং একটি নতুন কালেকশন তৈরি করা হয়।

    উদাহরণ:

    val numbers = List(1, 2, 3, 4)
    val doubled = numbers.map(x => x * 2)  // List(2, 4, 6, 8)
    doubled.foreach(println)
  4. ফিল্টার (Filter):
    filter() মেথড ব্যবহার করে একটি কালেকশনে থেকে নির্দিষ্ট শর্ত অনুযায়ী উপাদানগুলো বেছে নেওয়া হয়।

    উদাহরণ:

    val numbers = List(1, 2, 3, 4, 5)
    val evenNumbers = numbers.filter(x => x % 2 == 0)  // List(2, 4)
    evenNumbers.foreach(println)
  5. ফোল্ড (Fold):
    fold() মেথড ব্যবহার করে একটি কালেকশনের উপাদানগুলোকে একত্রিত করা যায় একটি একক মানে।

    উদাহরণ:

    val numbers = List(1, 2, 3, 4)
    val sum = numbers.fold(0)((acc, x) => acc + x)  // 10
    println(sum)
  6. রিডিউস (Reduce):
    reduce() মেথডও একটি কালেকশনের উপাদানগুলোকে একত্রিত করার জন্য ব্যবহৃত হয়, তবে এটি প্রথম উপাদান থেকে কাজ শুরু করে এবং একে একে পরবর্তী উপাদানের সাথে যুক্ত হয়।

    উদাহরণ:

    val numbers = List(1, 2, 3, 4)
    val product = numbers.reduce((acc, x) => acc * x)  // 24
    println(product)

সারাংশ:

স্কালাতে স্ট্রিং ম্যানিপুলেশন এবং ইটারেশন দুটি গুরুত্বপূর্ণ ক্ষমতা, যা বিভিন্ন প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। স্ট্রিং ম্যানিপুলেশন টেকনিকগুলি স্কালাতে ডেটার কাস্টমাইজেশন এবং টেক্সট প্রক্রিয়া সহজ করে, যেমন কনক্যাটেনেশন, সাবস্ট্রিং এক্সট্রাকশন, এবং ফরম্যাটিং। একইভাবে, ইটারেশন টেকনিকগুলির মাধ্যমে কালেকশনের উপর অপারেশন চালানো সহজ হয়, যেমন map, filter, foreach, এবং fold। এসব টেকনিক কোডকে আরো কার্যকরী এবং পরিষ্কার করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...