কম্পিউটার টিউটোরিয়াল

C#-এ স্ট্রিংয়ের প্রথম ১০ ক্যারেক্টার বের করা (Substring)

C#-এ স্ট্রিংয়ের প্রথম N ক্যারেক্টার বের করার জন্য `Substring(0, N)` ব্যবহার করা হয়। আধুনিক C#-এ Range অপারেটর (`..`) আরও সংক্ষিপ্ত।

পদ্ধতি ১: Substring (ক্লাসিক)


string str = "Cricket is a religion in India!";
string first10 = str.Substring(0, 10); // "Cricket is"
Console.WriteLine(first10);

পদ্ধতি ২: Range অপারেটর (C# 8.0+) - সুপারিশ করা


string first10 = str[..10]; // "Cricket is"

সম্পূর্ণ উদাহরণ


using System;

public class Demo
{
    public static void Main()
    {
        string str = "Cricket is a religion in India!";
        
        // পদ্ধতি ১: Substring
        string res1 = str.Substring(0, 10);
        Console.WriteLine($"Substring: '{res1}'");
        
        // পদ্ধতি ২: Range Operator
        string res2 = str[..10];
        Console.WriteLine($"Range: '{res2}'");
        
        // সেফ ভার্সন (স্ট্রিং ছোট হলে)
        string safe1 = str.Length >= 10 ? str.Substring(0, 10) : str;
        string safe2 = str.Length >= 10 ? str[..10] : str;
        
        // এক্সটেনশন মেথড
        Console.WriteLine($"Safe: '{str.FirstN(10)}'");
    }
}

public static class StringExtensions
{
    public static string FirstN(this string str, int n)
    {
        if (string.IsNullOrEmpty(str) || n <= 0) return "";
        return str.Length >= n ? str[..n] : str;
    }
    
    public static string LastN(this string str, int n)
    {
        if (string.IsNullOrEmpty(str) || n <= 0) return "";
        return str.Length >= n ? str[^n..] : str;
    }
}

আউটপুট


Substring: 'Cricket is'
Range: 'Cricket is'
Safe: 'Cricket is'

সাবস্ট্রিং এর র‍্যাঞ্জ ভেরিয়েশন (C# 8.0+)


string s = "Hello World";

s[..5]       // "Hello" (প্রথম ৫)
s[5..]       // " World" (৫ নম্বর ইনডেক্স থেকে শেষ)
s[2..8]      // "llo Wo" (২ থেকে ৭ ইনডেক্স)
s[^5..]      // "World" (শেষ ৫)
s[..^1]      // "Hello Worl" (শেষ ১ বাদ)
s[2..^2]     // "llo Wor" (২ থেকে শেষের ২ বাদ)

বাইট/গ্রাফিম অবস্থান বিবেচনা (ইউনিকোড/ইমোজি)


string emoji = "👨‍👩‍👧‍👦 Family"; // ১১ char (UTF-16)

// char-ভিত্তিক (কোড ইউনিট)
string first5Chars = emoji[..5]; // ভুল ফলাফল (partial emoji)

// গ্রাফিম ক্লাস্টার-ভিত্তিক (দৃশ্যমান ক্যারেক্টার)
using System.Globalization;
var info = new StringInfo(emoji);
string firstGrapheme = info.SubstringByTextElements(0, 1); // "👨‍👩‍👧‍👦"

পারফরম্যান্স তুলনা

পদ্ধতিরিটার্নস্পিডঅ্যালোকেশন
`str[..n]`stringদ্রুত১ স্ট্রিং অ্যালোকেশন
`str.Substring(0,n)`stringদ্রুত১ স্ট্রিং অ্যালোকেশন
`str.Take(n).ToArray()` + new stringstringধীরঅ্যারে + স্ট্রিং
`StringInfo` (গ্রাফিম)stringস্লোএক্সট্রা অবজেক্ট

সারসংক্ষেপ

  • সহজ/পঠনীয়: `str[..10]` (C# 8+) বা `str.Substring(0, 10)`
  • নিরাপদ: `str.Length >= 10 ? str[..10] : str` বা এক্সটেনশন মেথড
  • ইউনিকোড/ইমোজি: `StringInfo.SubstringByTextElements` ব্যবহার করুন
  • চার রিটার্ন করতে চাইলে: `str[0]` (single char)
  1. পাইথনে স্ট্রিং থেকে প্রথম n ক্যারেক্টার রিমুভ করা

  2. সুইফটে স্ট্রিংয়ের শেষ ৪ ক্যারেক্টার এক্সট্রাক্ট (Extract) করার পদ্ধতি

  3. পাইথনে স্ট্রিংয়ের প্রথম পুনরাবৃত্ত শব্দ খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে স্ট্রিংয়ের প্রথম ১০০ ক্যারেক্টার পাওয়ার পদ্ধতি