C # স্ট্রিংয়ে শেষ নির্দিষ্ট অক্ষরটি সরান


88

আমি উইনফর্মগুলি সি # ব্যবহার করি I আমার নীচের মতো স্ট্রিংয়ের মান রয়েছে,

string Something = "1,5,12,34,";

আমার একটি স্ট্রিংয়ে শেষ কমাটি সরিয়ে ফেলতে হবে। তাহলে আমি কীভাবে এটি মুছতে পারি?


16
কেন আপনার এমন আছে string? আমি ধরে নিই এমন লুপের কারণে যা কমাগুলিকে সম্মতি দেয় intstring.Join(",", ints)পরিবর্তে আপনি ব্যবহার করতে পারেন । এটি প্রথম স্থানে কমা কমাতে এড়ানো যায়।
টিম শেমলেটার

উত্তর:


261

চেষ্টা করুন string.TrimEnd():

Something = Something.TrimEnd(',');

4
এটি সেরা সমাধান কারণ এটি সমস্ত স্ট্রিংয়ের জন্য কাজ করে, এমন পরিস্থিতিতে যেখানে আপনি সময়ের আগে জানেন না যদি স্ট্রিংটি আসলে কমাতে শেষ হয় বা না হয়।
কোথাও কোথাও কোথাও পূর্ব

6
এ কারণেই আমি এখনও সহজে নিজেকে লিখতে পারি এমন জিনিসগুলির জন্য সমাধান অনুসন্ধান করি। অন্য কেউ সাধারণত এটি সমাধান করেছেন। :)
dpberry178

4
সুতরাং একক উদ্ধৃতি ভুল ছিল না। আজ আমি শিখেছি চর এবং স্ট্রিং যথাক্রমে একক এবং ডাবল উদ্ধৃতি দিয়ে সংজ্ঞায়িত করা হয়েছে।
egmfrs

20

কিং কিং এর উত্তর অবশ্যই সঠিক। এছাড়াও টিম শ্মেলটারের মন্তব্যটি আপনার ক্ষেত্রেও ভাল পরামর্শ।

তবে আপনি যদি সত্যিই কোনও স্ট্রিংয়ে শেষ কমা মুছে ফেলতে চান তবে আপনার সর্বশেষ কমাটির সূচি খুঁজে পাওয়া উচিত এবং এর মতো অপসারণ করা উচিত;

string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));

আউটপুট হবে;

1,5,12,3412345

এখানে ক demonstration

আপনি এইভাবে চান এটি খুব কমই তবে আমি এটি নির্দেশ করতে চাই। এবং মনে রাখবেন, String.Removeপদ্ধতিটি মূল স্ট্রিংয়ের কোনও অক্ষর সরিয়ে দেয় না, এটি নতুন স্ট্রিংটি দেয়।


5

চেষ্টা করুন string.Remove();

string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);

3

ট্রিমেন্ড পদ্ধতিটি একটি ইনপুট অক্ষর অ্যারে নেয় এবং স্ট্রিং নয়। থেকে নিচের কোড ডট নেট Perls , শো কিভাবে TrimEnd হিসাবে একই কার্যকারিতা সঞ্চালন করা আরও কার্যকর উদাহরণ।

static string TrimTrailingChars(string value)
{
    int removeLength = 0;
    for (int i = value.Length - 1; i >= 0; i--)
    {
        char let = value[i];
        if (let == '?' || let == '!' || let == '.')
        {
            removeLength++;
        }
        else
        {
            break;
        }
    }
    if (removeLength > 0)
    {
        return value.Substring(0, value.Length - removeLength);
    }
    return value;
}

1

অথবা আপনি প্রথমে এটিকে চর অ্যারে রূপান্তর করতে পারেন:

string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];

এখন আপনার প্রতিটি চরিত্র রয়েছে indexed:

SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','

এটি চারপাশে খেলুন




0

আপনি যখন শেষে ফাঁকা আছে। আপনি beliow ব্যবহার করতে পারেন।

ProcessStr = ProcessStr.Replace(" ", "");
Emails     = ProcessStr.TrimEnd(';');
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.