2013-11-27 3 views
45

मैं WinForms ग # मैं का उपयोग में पिछले अल्पविराम निकालें है,नीचे की तरह स्ट्रिंग मान एक स्ट्रिंग सी # WinForms

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

मैं एक स्ट्रिंग में पिछले अल्पविराम को दूर करने की जरूरत है। तो मैं इसे कैसे हटा सकता हूं?

+8

आप इस तरह के एक 'स्ट्रिंग' क्यों हैं? मैं एक लूप की वजह से मानता हूं जो अल्पविराम को अल्पविराम से जोड़ता है। आप इसके बजाय 'string.Join (", ", ints) 'का उपयोग कर सकते हैं। यह पहली जगह में अल्पविरामों से पीछे हटने से बचाता है। –

उत्तर

144

string.TrimEnd() का प्रयास करें:

Something = Something.TrimEnd(','); 
+1

यह सबसे अच्छा समाधान है क्योंकि यह उन सभी परिस्थितियों के लिए काम करता है, जहां स्थितियों को आप समय से पहले नहीं जानते हैं अगर स्ट्रिंग वास्तव में अल्पविराम में समाप्त होती है या नहीं। –

3

प्रयास करें string.Remove();

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

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 विधि मूल स्ट्रिंग में किसी भी वर्ण को नहीं हटाती है, यह नई स्ट्रिंग देता है।

1

या आप से पहले चार सरणी में परिवर्तित कर सकते हैं:

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

अब आप हर किरदार के indexed है:

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

प्ले चारों ओर यह

0

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; 
} 
संबंधित मुद्दे