मैं WinForms ग # मैं का उपयोग में पिछले अल्पविराम निकालें है,नीचे की तरह स्ट्रिंग मान एक स्ट्रिंग सी # WinForms
string Something = "1,5,12,34,";
मैं एक स्ट्रिंग में पिछले अल्पविराम को दूर करने की जरूरत है। तो मैं इसे कैसे हटा सकता हूं?
मैं WinForms ग # मैं का उपयोग में पिछले अल्पविराम निकालें है,नीचे की तरह स्ट्रिंग मान एक स्ट्रिंग सी # WinForms
string Something = "1,5,12,34,";
मैं एक स्ट्रिंग में पिछले अल्पविराम को दूर करने की जरूरत है। तो मैं इसे कैसे हटा सकता हूं?
string.TrimEnd()
का प्रयास करें:
Something = Something.TrimEnd(',');
यह सबसे अच्छा समाधान है क्योंकि यह उन सभी परिस्थितियों के लिए काम करता है, जहां स्थितियों को आप समय से पहले नहीं जानते हैं अगर स्ट्रिंग वास्तव में अल्पविराम में समाप्त होती है या नहीं। –
प्रयास करें string.Remove();
string str = "1,5,12,34,";
string removecomma = str.Remove(str.Length-1);
MessageBox.Show(removecomma);
King King's answer पाठ्यक्रम सही की है। इसके अलावा Tim Schmelter's comment आपके मामले में भी एक अच्छा सुझाव है।
लेकिन अगर आप चाहते वास्तव मेंएक स्ट्रिंग में पिछले अल्पविराम निकालने के लिए, आप पिछले अल्पविराम के सूचकांक खोजने के लिए और की तरह निकाल देना चाहिए;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
आउटपुट होगा;
1,5,12,3412345
यहाँ एक
demonstration
।
यह बहुत संभावना है कि आप इस तरह से चाहते हैं लेकिन मैं इसे इंगित करना चाहता हूं। और याद रखें, String.Remove
विधि मूल स्ट्रिंग में किसी भी वर्ण को नहीं हटाती है, यह नई स्ट्रिंग देता है।
या आप से पहले चार सरणी में परिवर्तित कर सकते हैं:
string Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
अब आप हर किरदार के indexed
है:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
प्ले चारों ओर यह
TrimEnd विधि, वर्ण प्राप्त करता नहीं तार। देखें: http://www.dotnetperls.com/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;
}
आप इस तरह के एक 'स्ट्रिंग' क्यों हैं? मैं एक लूप की वजह से मानता हूं जो अल्पविराम को अल्पविराम से जोड़ता है। आप इसके बजाय 'string.Join (", ", ints) 'का उपयोग कर सकते हैं। यह पहली जगह में अल्पविरामों से पीछे हटने से बचाता है। –