मैं WinForms c # का उपयोग करता हूं। मेरा स्ट्रिंग मान नीचे की तरह है,
string Something = "1,5,12,34,";
मुझे एक स्ट्रिंग में अंतिम अल्पविराम को हटाने की आवश्यकता है। तो मैं इसे कैसे हटा सकता हूं?
मैं WinForms c # का उपयोग करता हूं। मेरा स्ट्रिंग मान नीचे की तरह है,
string Something = "1,5,12,34,";
मुझे एक स्ट्रिंग में अंतिम अल्पविराम को हटाने की आवश्यकता है। तो मैं इसे कैसे हटा सकता हूं?
जवाबों:
कोशिश करें string.TrimEnd():
Something = Something.TrimEnd(',');
किंग किंग का जवाब बिल्कुल सही है। साथ ही टिम श्मेल्टर की टिप्पणी भी आपके मामले में अच्छा सुझाव है।
लेकिन अगर आप वास्तव में एक स्ट्रिंग में अंतिम अल्पविराम को हटाना चाहते हैं, तो आपको अंतिम अल्पविराम का सूचकांक ढूंढना चाहिए और जैसे निकालना चाहिए;
string s = "1,5,12,34,12345";
int index = s.LastIndexOf(',');
Console.WriteLine(s.Remove(index, 1));
आउटपुट होगा;
1,5,12,3412345
यहाँ ए demonstration।
यह बहुत संभावना नहीं है कि आप इस तरह से चाहते हैं लेकिन मैं इसे इंगित करना चाहता हूं। और याद रखें, String.Removeविधि किसी भी वर्ण को मूल स्ट्रिंग में नहीं निकालती है, यह नया स्ट्रिंग लौटाता है।
ट्रिमएंड विधि एक इनपुट कैरेक्टर एरे लेती है न कि एक स्ट्रिंग। डॉट नेट पर्ल्स से नीचे दिए गए कोड , ट्राइएंड के समान कार्यक्षमता का प्रदर्शन करने का एक अधिक कुशल उदाहरण दिखाता है।
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 Something = "1,5,12,34,";
char[] SomeGoodThing=Something.ToCharArray[];
अब आपके पास प्रत्येक वर्ण है indexed:
SomeGoodThing[0] -> '1'
SomeGoodThing[1] -> ','
इसके आसपास खेलें
Dim psValue As String = "1,5,12,34,123,12"
psValue = psValue.Substring(0, psValue.LastIndexOf(","))
उत्पादन:
1,5,12,34,123
जब आप अंत में रिक्त स्थान है। आप बेलियो का उपयोग कर सकते हैं।
ProcessStr = ProcessStr.Replace(" ", "");
Emails = ProcessStr.TrimEnd(';');
string? मैं एक लूप के कारण मान लेता हूं, जो कॉमा कोintएस तक पहुंचाता है । आपstring.Join(",", ints)इसके बजाय उपयोग कर सकते हैं । यह पहली जगह में अल्पविराम से बचा जाता है।