স্ট্রিংয়ের প্রথম চর পেতে আমি এই প্রশ্নটি পড়েছি । C # তে স্ট্রিং থেকে প্রথম এন সংখ্যাটির অক্ষর পাওয়ার কোনও উপায় আছে কি?
স্ট্রিংয়ের প্রথম চর পেতে আমি এই প্রশ্নটি পড়েছি । C # তে স্ট্রিং থেকে প্রথম এন সংখ্যাটির অক্ষর পাওয়ার কোনও উপায় আছে কি?
উত্তর:
আপনি গণ্য করতে পারেন। পছন্দ করুন:
char[] array = yourStringVariable.Take(5).ToArray();
অথবা আপনি স্ট্রিং.সুস্ট্রিং ব্যবহার করতে পারেন ।
string str = yourStringVariable.Substring(0,5);
মনে রাখবেন String.Substring
স্ট্রিংয়ের দৈর্ঘ্যের ক্ষেত্রে প্রয়োজনীয় অক্ষরের চেয়ে কম ব্যতিক্রম হতে পারে throw
আপনি যদি ফলাফলটি স্ট্রিংয়ে ফিরে পেতে চান তবে আপনি ব্যবহার করতে পারেন:
স্ট্রিং কনস্ট্রাক্টর এবং লিনকিউ ব্যবহার করে Take
string firstFivChar = new string(yourStringVariable.Take(5).ToArray());
পদ্ধতির সাহায্যে প্লাসটি হাতের আগে দৈর্ঘ্যের জন্য যাচাই করে নি।
String.Substring
উপায়টি ত্রুটি পরীক্ষা করে ব্যবহার করামত:
string firstFivCharWithSubString =
!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5
? yourStringVariable.Substring(0, 5)
: yourStringVariable;
IsNullOrWhiteSpace
এখানে ভুল। 10 টি ফাঁকা দিয়ে স্ট্রিংটি বিবেচনা করুন - আপনার কোডটি সমস্ত 10 ফিরে আসবে IsNullOrEmpty
instead পরিবর্তে ব্যবহার করুন। ( IsNullOrWhiteSpace
অন্য কোনও পরীক্ষার সাথে একত্রিত করা ভাল নয় ; পরিবর্তে নাল + ফাঁকা পরীক্ষার জন্য পরীক্ষা করা হয়, তবে Trim
যদি সেই নির্দিষ্ট আচরণটি নির্দিষ্ট করা হয় তবে পরীক্ষা / ক্রিয়াকলাপ যা প্রয়োজন তা করুন do)
চেষ্টা করুন:
yourString.Substring(0, 5);
পরীক্ষা করে দেখুন C # এর সাবস্ট্রিং , String.Substring পদ্ধতি
আপনি সাবস্ট্রিং (ইন স্টার্টইনডেক্স, ইনট দৈর্ঘ্য) ব্যবহার করতে পারেন
string result = str.Substring(0,5);
সাবস্ট্রিং নির্দিষ্ট বর্ণের অবস্থান থেকে শুরু হয় এবং একটি নির্দিষ্ট দৈর্ঘ্য থাকে has এই পদ্ধতিটি বর্তমান উদাহরণটির মান পরিবর্তন করে না। পরিবর্তে, এটি বর্তমান স্ট্রিংয়ের স্টার্ট ইনডেক্স অবস্থান থেকে শুরু করে দৈর্ঘ্যের অক্ষরগুলির সাথে একটি নতুন স্ট্রিং প্রদান করে, এমএসডিএন
যদি উত্সের স্ট্রিং কম হয় তবে পাঁচটি অক্ষর? উপরের পদ্ধতিটি ব্যবহার করে আপনি ব্যতিক্রম পাবেন। স্ট্রিংয়ে অক্ষরের সংখ্যা 5 এর চেয়ে বেশি কিনা তা পরীক্ষা করার জন্য আমরা শর্ত রাখতে পারি তবে সাবস্ট্রিংয়ের মাধ্যমে প্রথম পাঁচটি পান। দ্রষ্টব্য আমি প্রথম ফিভাইচার ভেরিয়েবলকে উত্সের স্ট্রিং বরাদ্দ করেছি। 5 টির চেয়ে কম অক্ষর হলে ফার্স্টফাইচারটি পরিবর্তিত হবে না, তাই অন্য অংশের প্রয়োজন নেই।
string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
firstFiveChar = yourStringVariable.Substring(0, 5);
কেউ ব্যবহার করার সময় কীভাবে সঠিক চেক করবেন তা উল্লেখ করেনি Substring()
, তাই আমি সে সম্পর্কে অবদান রাখতে চেয়েছিলাম।
আপনি যদি ব্যবহার করতে Linq
এবং সাথে যেতে না চান তবে আপনাকে Substring()
নিশ্চিত করতে হবে যে আপনার স্ট্রিংটি Substring()
ফাংশনের দ্বিতীয় প্যারামিটার (দৈর্ঘ্য) এর চেয়ে বড় ।
ধরা যাক আপনার প্রথম 5 টি অক্ষর প্রয়োজন। আপনার এগুলি যথাযথ চেক সহ পাওয়া উচিত:
string title = "love" // 15 characters
var firstFiveChars = title.Length <= 5 ? title : title.Substring(0, 5);
// firstFiveChars: "love" (4 characters)
এই চেকটি না করে Substring()
ফাংশনটি একটি ব্যতিক্রম ছুঁড়ে ফেলবে কারণ এটি সেখানে নেই এমন অক্ষরের মাধ্যমে পুনরাবৃত্তি করবে।
আমি মনে করি আপনি ধারণা পেয়েছেন ...
সমস্যাটি .Substring(,)
হ'ল, আপনার অবশ্যই নিশ্চিত হওয়া উচিত যে প্রদত্ত স্ট্রিংয়ের কমপক্ষে জিজ্ঞাসিত সংখ্যার দৈর্ঘ্য রয়েছে, অন্যথায় একটি ArgumentOutOfRangeException
নিক্ষিপ্ত হবে।
সমাধান 1 ('সাবস্ট্রিং' ব্যবহার করে):
var firstFive = stringValue != null ?
stringValue.Substring(0, stringValue.Length >= 5 ? 5 : stringValue.Length) :
null;
ব্যবহারের অপূর্ণতা .Substring(
হ'ল আপনাকে প্রদত্ত স্ট্রিংয়ের দৈর্ঘ্য পরীক্ষা করতে হবে।
সমাধান 2 ('নিন' ব্যবহার করে):
var firstFive = stringValue != null ?
string.Join("", stringValue.Take(5)) :
null;
'টেক' ব্যবহার করা আপনাকে প্রদত্ত স্ট্রিংয়ের দৈর্ঘ্য পরীক্ষা করতে হবে তা প্রতিরোধ করবে।
প্যাডরাইট ফাংশনটি স্ট্রিংটি খুব ছোট হওয়া থেকে বিরত রাখতে ব্যবহার করুন, আপনার যা যা প্রয়োজন তা ধরুন এবং তারপরে একটি বিবৃতিতে সমস্ত স্পেসটি শেষ থেকে ট্রিম করুন।
strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();
কেন কেউ এ কথা উল্লেখ করেছে তা আমি জানি না। তবে এটি অর্জনের এটি সবচেয়ে সংক্ষিপ্ত এবং সহজতম উপায়।
string str = yourString.Remove(n);
n
- আপনার প্রয়োজনীয় অক্ষরের সংখ্যা
উদাহরণ
var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141
পাঁচটি শ্বেত স্পেস অক্ষর যুক্ত করুন তারপরে প্রথম পাঁচটি কেটে ফেলুন এবং ফলাফলটি ট্রিম করুন। আপনি যে সংখ্যক স্পেস যুক্ত করেছেন তার সংখ্যার সাথে আপনি কাটছেন match আগে বন্ধনী অন্তর্ভুক্ত করা নিশ্চিত করুন .Substring(0,X)
বা আপনি কিছুই সংযোজন করবেন না।
string str = (yourStringVariable + " ").Substring(0,5).Trim();
এই কৌশলটি দিয়ে আপনাকে ArgumentOutOfRangeException
অন্যান্য উত্তরে উল্লিখিত সম্পর্কে চিন্তা করতে হবে না ।
string str = "GoodMorning"
string strModified = str.Substring(0,5);
কেবলমাত্র শীর্ষস্থানীয় সি # 8.0 এ করার জন্য একটি নতুন উপায় রয়েছে: রেঞ্জ অপারেটর
বা আমি যেমন তাদের বলতে চাই, পান্ডাস টুকরো।
পুরানো উপায়:
string newString = oldstring.Substring(0, 5);
নতুন উপায়:
string newString = oldstring[..5];
যা প্রথম নজরে সংক্ষিপ্ত কোডের জন্য কিছু পাঠযোগ্যতার সুন্দর খারাপ ট্রেড অফের মতো প্রদর্শিত হয় তবে নতুন বৈশিষ্ট্য আপনাকে দেয়
এই মত দুর্দান্ত জিনিস:
var স্লাইস 1 = তালিকা [2 .. ^ 3]; // তালিকা [রেঞ্জ। ক্রিয়েট (2, সূচক। ক্রিয়েট ফ্রেমইন্ড (3%))]
var স্লাইস 2 = তালিকা [.. ^ 3]; // তালিকা [পরিসীমা. টোইন্ড (সূচক। ক্রিয়েট ফ্রেমইন্ড (3))]
var স্লাইস 3 = তালিকা [2 ..]; // তালিকা [রেঞ্জ। ফ্রমস্টার্ট (2)]
var স্লাইস 4 = তালিকা [..]; // তালিকা [পরিসীমা। সব]
C # তে একটি স্ট্রিং থেকে প্রথম n সংখ্যাটির অক্ষর পেতে
String yourstring="Some Text";
String first_n_Number_of_Characters=yourstring.Substring(0,n);
নীচে একটি এক্সটেনশন পদ্ধতি যা যা স্ট্রিং প্রয়োজনের চেয়ে বড় কিনা তা পরীক্ষা করে এবং স্ট্রিংটিকে সংজ্ঞাযুক্ত সর্বোচ্চ পরিমাণে অক্ষর এবং সংযোজন '...' এর চেয়ে ছোট করে দেয় কিনা তা পরীক্ষা করে।
public static class StringExtensions
{
public static string Ellipsis(this string s, int charsToDisplay)
{
if (!string.IsNullOrWhiteSpace(s))
return s.Length <= charsToDisplay ? s : new string(s.Take(charsToDisplay).ToArray()) + "...";
return String.Empty;
}
}
ইন সি # 8.0 আপনি এখন মত একটি স্ট্রিং প্রথম পাঁচ অক্ষরের পেতে পারেন
string str = data[0..5];
সূচক এবং ব্যাপ্তি সম্পর্কে আরও কিছু তথ্য এখানে
আমি ব্যবহার করি:
var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);
অথবা বিকল্পটি যদি আপনি হোয়াইটস্পেসের জন্যও পরীক্ষা করতে চান তবে (কেবল নালের পরিবর্তে):
var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue
অথবা আপনি স্ট্রিং.টোচারার () ব্যবহার করতে পারেন ।
এটি গ্রহণ করে int startindex
এবং int length
পরামিতি হিসাবে এবং a প্রদান করেchar[]
new string(stringValue.ToCharArray(0,5))
আপনার এখনও স্ট্রিংটির যথাযথ দৈর্ঘ্য রয়েছে তা নিশ্চিত করতে হবে অন্যথায় এটি একটি নিক্ষেপ করবে ArgumentOutOfRangeException
যখন str 5 এর চেয়ে কম হয় তবে দয়া করে এই কোডটি চেষ্টা করুন।
string strModified = str.Substring(0,str.Length>5?5:str.Length);
আমরা যদি কোনও ক্ষেত্র থেকে কেবল প্রথম 5 টি অক্ষর চাই, তবে এটি বাম বৈশিষ্ট্য দ্বারা অর্জন করা যেতে পারে
Vessel = f.Vessel !=null ? f.Vessel.Left(5) : ""
কোড নীচে চেষ্টা করুন
string Name = "Abhishek";
string firstfour = Name.Substring(0, 4);
Response.Write(firstfour);
আমি উপরের উত্তরগুলি চেষ্টা করেছি এবং আমার মনে হয় এটি সবচেয়ে ভাল
@item.First_Name.Substring(0,1)
এটিতে আমি স্ট্রিংয়ের প্রথম চিঠিটি পেতে পারি
char
** গুলি সম্পর্কে জিজ্ঞাসা করছে এবং আপনি ** চরিত্রের সম্পর্কে জিজ্ঞাসা করছেন । এগুলো এক জিনিস না.𣊾
এবং𣇞
আমি গতকাল দুটি অক্ষর ব্যবহার করার দরকার ছিল যা সি # তে লেখা সফ্টওয়্যারটিতে ব্যর্থ হয়েছিল যা আমি ব্যবহার করছিলাম কারণ প্রোগ্রামারটি একটিchar
এবং একটি চরিত্রের মধ্যে পার্থক্য জানত না । এই ফাঁদে পড়বেন না!