আমার নিম্নলিখিতগুলি রয়েছে:
string test = "9586-202-10072"
আমি কীভাবে সমস্ত অক্ষরকে ফাইনালের ডানদিকে পেতে পারি -তাই 10072. অক্ষরের সংখ্যা সর্বদা শেষ ড্যাশের ডান থেকে আলাদা।
কিভাবে এই কাজ করা যেতে পারে?
আমার নিম্নলিখিতগুলি রয়েছে:
string test = "9586-202-10072"
আমি কীভাবে সমস্ত অক্ষরকে ফাইনালের ডানদিকে পেতে পারি -তাই 10072. অক্ষরের সংখ্যা সর্বদা শেষ ড্যাশের ডান থেকে আলাদা।
কিভাবে এই কাজ করা যেতে পারে?
উত্তর:
আপনি শেষ অবস্থান পেতে পারেন -সঙ্গে str.LastIndexOf('-')। সুতরাং পরবর্তী পদক্ষেপ সুস্পষ্ট:
var result = str.Substring(str.LastIndexOf('-') + 1);
সংশোধন :
ব্রায়ান নীচে যেমন বলেছে, কোনও ড্যাশ ছাড়াই স্ট্রিং এ এটি ব্যবহার করার ফলে একই স্ট্রিংটি ফিরে আসবে।
LastIndexOfকিছু না পাওয়া গেলে -1 প্রদান করে (এটি নথিভুক্ত আচরণ, সুতরাং এটির উপর নির্ভর করা নিরাপদ)। str.Substring(1-1)এর সমান একটি স্ট্রিং দেয় str। এখানে অবাক হওয়ার কিছু নেই।
আপনি লিনকিউ ব্যবহার করতে পারেন এবং নিজেকে স্পষ্টভাবে বিশ্লেষণ সংরক্ষণ করতে পারেন:
string test = "9586-202-10072";
string lastFragment = test.Split('-').Last();
Console.WriteLine(lastFragment);
আমি দেখতে পাচ্ছি যে এই পোস্টটি 46,000 বার দেখা হয়েছে। আমি 46,000 দর্শকের মধ্যে অনেকের কাছেই এই প্রশ্নটি জিজ্ঞাসা করব কেবল কারণ তারা কেবল ফাইলের নাম চায় ... এবং যদি আপনি চিহ্নটি ব্যবহার করে আপনার স্ট্রিং শব্দটি না করে থাকেন তবে এই উত্তরগুলি খরগোশের ছিদ্র হতে পারে।
আপনি যদি কেবল ফাইলটির নাম পেতে চান তবে একটি সাধারণ উত্তর রয়েছে যা এখানে উল্লেখ করা উচিত। এমনকি যদি এটি প্রশ্নের সুনির্দিষ্ট উত্তর না হয়।
result = Path.GetFileName(fileName);
দেখতে https://msdn.microsoft.com/en-us/library/system.io.path.getfilename(v=vs.110).aspx
String.lastIndexOf পদ্ধতি দেখুন
string atest = "9586-202-10072";
int indexOfHyphen = atest.LastIndexOf("-");
if (indexOfHyphen >= 0)
{
string contentAfterLastHyphen = atest.Substring(indexOfHyphen + 1);
Console.WriteLine(contentAfterLastHyphen );
}
আমি এটির জন্য একটি স্ট্রিং এক্সটেনশন তৈরি করেছি, আশা করি এটি সহায়তা করবে।
public static string GetStringAfterChar(this string value, char substring)
{
if (!string.IsNullOrWhiteSpace(value))
{
var index = value.LastIndexOf(substring);
return index > 0 ? value.Substring(index + 1) : value;
}
return string.Empty;
}
strনাল হয় বা এতে কোনও হাইফেন থাকে না। (এমন কোনও ক্ষেত্রে যেখানে হাইফেন নেই এটি ছুঁড়ে না ফেলে; এটি পুরো উত্সের স্ট্রিং ফিরিয়ে দেয়))