কোনও স্ট্রিংয়ের প্রথম 10 টি অক্ষর কীভাবে উপেক্ষা করবেন?
ইনপুট:
str = "hello world!";
আউটপুট:
d!
কোনও স্ট্রিংয়ের প্রথম 10 টি অক্ষর কীভাবে উপেক্ষা করবেন?
ইনপুট:
str = "hello world!";
আউটপুট:
d!
উত্তর:
str = "hello world!";
str.Substring(10, str.Length-10)
আপনাকে দৈর্ঘ্যের চেকগুলি সম্পাদন করতে হবে অন্যথায় এটি একটি ত্রুটি ফেলবে
str = str.Remove(0,10);
প্রথম 10 টি অক্ষর সরান
বা
str = str.Substring(10);
স্ট্রিংয়ের শেষে 11 তম অক্ষর থেকে শুরু করে একটি স্ট্রিং তৈরি করে।
আপনার উদ্দেশ্যে তারা অভিন্ন কাজ করা উচিত।
সাবস্ট্রিং সম্ভবত আপনি চান, অন্যরা নির্দেশ করেছেন। তবে কেবল মিশ্রণের জন্য আরও একটি বিকল্প যুক্ত করতে ...
string result = string.Join(string.Empty, str.Skip(10));
আপনি এটি দৈর্ঘ্য পরীক্ষা করতে হবে না! :) এটির তুলনায় 10 টিরও কম হলে আপনি একটি খালি স্ট্রিং পান।
Substring
দুটি ওভারলোডিং পদ্ধতি রয়েছে:
public string Substring(int startIndex);//The substring starts at a specified character position and continues to the end of the string.
public string Substring(int startIndex, int length);//The substring starts at a specified character position and taking length no of character from the startIndex.
সুতরাং এই দৃশ্যের জন্য, আপনি নীচের মতো প্রথম পদ্ধতিটি ব্যবহার করতে পারেন:
var str = "hello world!";
str = str.Substring(10);
এখানে আউটপুট হয়:
d!
আপনি যদি এর দৈর্ঘ্য পরীক্ষা করে ডিফেন্সিভ কোডিং প্রয়োগ করতে পারেন।
সাবস্ট্রিং পদ্ধতি ব্যবহার করুন।
string s = "hello world";
s=s.Substring(10, s.Length-10);
আপনি সাবস্ট্রিং পদ্ধতিটি ব্যবহার করতে পারেন যা একটি একক প্যারামিটার নেয়, যা সূচক থেকে শুরু হয়।
নীচের আমার কোডে আমি কেসটির সাথে ডিল করেছি আপনার পছন্দসই সূচকের চেয়ে দৈর্ঘ্য কম এবং যখন দৈর্ঘ্য শূন্য হয়।
string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));
এর জন্য:
var str = "hello world!";
প্রথম 10 টি অক্ষর ছাড়াই ফলাফলের স্ট্রিং এবং খালি স্ট্রিংটি পেতে যদি স্ট্রিং দৈর্ঘ্যে কম বা সমান হয় 10 আপনি ব্যবহার করতে পারেন:
var result = str.Length <= 10 ? "" : str.Substring(10);
বা
var result = str.Length <= 10 ? "" : str.Remove(0, 10);
এটির জন্য কেবলমাত্র একটি পদ্ধতি প্যারামিটারের প্রয়োজন হওয়ায় প্রথম বৈকল্পিক পছন্দ করা হচ্ছে।
Substring
পদ্ধতিতে দৈর্ঘ্য নির্দিষ্ট করার দরকার নেই । অতএব:
string s = hello world;
string p = s.Substring(3);
p
হবে:
"লো ওয়ার্ল্ড"
আপনার যদি একমাত্র ব্যতিক্রমটি পূরণ করতে হয় ArgumentOutOfRangeException
তবে
startIndex
তা হ'ল শূন্যের চেয়ে কম বা এই উদাহরণটির দৈর্ঘ্যের চেয়ে বেশি।
সি # 8 থেকে শুরু করে আপনি কেবল রেঞ্জ অপারেটর ব্যবহার করতে পারেন। এই ধরণের কেসগুলি পরিচালনা করার পক্ষে এটি আরও কার্যকর এবং সর্বোত্তম উপায়।
string AnString = "Hello World!";
AnString = AnString[10..];
C# 8
লক্ষ্য করার সময় সমর্থিত হয় না .NET Framework
।
কলিং SubString()
একটি নতুন স্ট্রিং বরাদ্দ করে। অনুকূল পারফরম্যান্সের জন্য, আপনার অতিরিক্ত বরাদ্দ এড়ানো উচিত। C# 7.2
আপনার সাথে শুরু করে স্প্যান প্যাটার্নটির সুবিধা নিতে পারেন ।
টার্গেট করার সময় .NET Framework
, সিস্টেম.মেমরি NuGet
প্যাকেজ অন্তর্ভুক্ত করুন । জন্য .NET Core
প্রকল্প এই বাক্সের বাইরে কাজ করে।
static void Main(string[] args)
{
var str = "hello world!";
var span = str.AsSpan(10); // No allocation!
// Outputs: d!
foreach (var c in span)
{
Console.Write(c);
}
Console.WriteLine();
}