मेरे पास एक स्ट्रिंग है
"Hello! world!"
मैं एक ट्रिम या बाहर निकालने के लिए करना चाहता हूँ! ऑफ वर्ल्ड लेकिन ऑफ हैलो नहीं।
मेरे पास एक स्ट्रिंग है
"Hello! world!"
मैं एक ट्रिम या बाहर निकालने के लिए करना चाहता हूँ! ऑफ वर्ल्ड लेकिन ऑफ हैलो नहीं।
जवाबों:
"Hello! world!".TrimEnd('!');
संपादित करें:
मैंने इस प्रकार के प्रश्नों पर ध्यान दिया है जो सभी को दिए गए स्ट्रिंग के अंतिम चार्ट को हटाने का सुझाव देते हैं। लेकिन यह ट्रिम विधि की परिभाषा को पूरा नहीं करता है।
ट्रिम - इस उदाहरण की शुरुआत और अंत से सफेद अंतरिक्ष वर्णों की सभी घटनाओं को हटाता है।
इस परिभाषा के तहत केवल अंतिम चरित्र को स्ट्रिंग से हटाना खराब समाधान है।
इसलिए यदि हम "स्ट्रिंग से अंतिम चरित्र को ट्रिम करना चाहते हैं" तो हमें कुछ इस तरह करना चाहिए
विस्तार विधि के रूप में उदाहरण:
public static class MyExtensions
{
public static string TrimLastCharacter(this String str)
{
if(String.IsNullOrEmpty(str)){
return str;
} else {
return str.TrimEnd(str[str.Length - 1]);
}
}
}
ध्यान दें कि यदि आप समान मान के सभी वर्णों को हटाना चाहते हैं (!!!!) तो उपरोक्त विधि '' की सभी मौजूदगी को हटा देती है! स्ट्रिंग के अंत से, लेकिन यदि आप केवल अंतिम वर्ण को निकालना चाहते हैं, तो आपको इसका उपयोग करना चाहिए:
else { return str.Remove(str.Length - 1); }
String withoutLast = yourString.Substring(0,(yourString.Length - 1));
if (yourString.Length > 1)
withoutLast = yourString.Substring(0, yourString.Length - 1);
या
if (yourString.Length > 1)
withoutLast = yourString.TrimEnd().Substring(0, yourString.Length - 1);
... यदि आप अंत से एक गैर-व्हाट्सएप चरित्र को हटाना चाहते हैं।
TrimEnd()विधि नहीं है और अगर वहाँ थे, तो यह Substring(..)छोटे तारों पर बाद की कॉल को विफल कर सकता है ।
string s1 = "Hello! world!";
string s2 = s1.Trim('!');
इसे इस्तेमाल करे:
return( (str).Remove(str.Length-1) );
आप इसका उपयोग भी कर सकते हैं:
public static class Extensions
{
public static string RemovePrefix(this string o, string prefix)
{
if (prefix == null) return o;
return !o.StartsWith(prefix) ? o : o.Remove(0, prefix.Length);
}
public static string RemoveSuffix(this string o, string suffix)
{
if(suffix == null) return o;
return !o.EndsWith(suffix) ? o : o.Remove(o.Length - suffix.Length, suffix.Length);
}
}
@Damian Leszczy --ski - Vash का थोड़ा संशोधित संस्करण जो यह सुनिश्चित करेगा कि केवल एक विशिष्ट वर्ण हटा दिया जाएगा।
public static class StringExtensions
{
public static string TrimLastCharacter(this string str, char character)
{
if (string.IsNullOrEmpty(str) || str[str.Length - 1] != character)
{
return str;
}
return str.Substring(0, str.Length - 1);
}
}
मैंने केवल ट्रिमएंड का उपयोग करके एक्सटेंशन लिखने का रास्ता अपनाया क्योंकि मैं पहले से ही इनलाइन का उपयोग कर रहा था और इससे खुश था ... (यानी:
static class Extensions
{
public static string RemoveLastChars(this String text, string suffix)
{
char[] trailingChars = suffix.ToCharArray();
if (suffix == null) return text;
return text.TrimEnd(trailingChars);
}
}
सुनिश्चित करें कि आप स्थैतिक वर्ग का उपयोग करके अपनी कक्षाओं में नाम स्थान शामिल करें, पी और उपयोग है:
string _ManagedLocationsOLAP = string.Empty;
_ManagedLocationsOLAP = _validManagedLocationIDs.RemoveLastChars(",");
इसे सरल बनाने के लिए एक उदाहरण एक्सटेंशन क्लास: -
internal static class String
{
public static string TrimEndsCharacter(this string target, char character) => target?.TrimLeadingCharacter(character).TrimTrailingCharacter(character);
public static string TrimLeadingCharacter(this string target, char character) => Match(target?.Substring(0, 1), character) ? target.Remove(0,1) : target;
public static string TrimTrailingCharacter(this string target, char character) => Match(target?.Substring(target.Length - 1, 1), character) ? target.Substring(0, target.Length - 1) : target;
private static bool Match(string value, char character) => !string.IsNullOrEmpty(value) && value[0] == character;
}
प्रयोग
"!Something!".TrimLeadingCharacter('X'); // Result '!Something!' (No Change)
"!Something!".TrimTrailingCharacter('S'); // Result '!Something!' (No Change)
"!Something!".TrimEndsCharacter('g'); // Result '!Something!' (No Change)
"!Something!".TrimLeadingCharacter('!'); // Result 'Something!' (1st Character removed)
"!Something!".TrimTrailingCharacter('!'); // Result '!Something' (Last Character removed)
"!Something!".TrimEndsCharacter('!'); // Result 'Something' (End Characters removed)
"!!Something!!".TrimLeadingCharacter('!'); // Result '!Something!!' (Only 1st instance removed)
"!!Something!!".TrimTrailingCharacter('!'); // Result '!!Something!' (Only Last instance removed)
"!!Something!!".TrimEndsCharacter('!'); // Result '!Something!' (Only End instances removed)
यदि आप 'को हटाना चाहते हैं!' एक विशिष्ट अभिव्यक्ति (आपके मामले में "दुनिया") से चरित्र, तो आप इस नियमित अभिव्यक्ति का उपयोग कर सकते हैं
string input = "Hello! world!";
string output = Regex.Replace(input, "(world)!", "$1", RegexOptions.Multiline | RegexOptions.Singleline);
// result: "Hello! world"
$ 1 विशेष चरित्र में सभी मिलान "दुनिया" अभिव्यक्तियाँ शामिल हैं, और इसका उपयोग मूल "दुनिया" को बदलने के लिए किया जाता है! अभिव्यक्ति