उद्देश्य-सी में स्ट्रिंग से व्हॉट्सएप निकालें


79

मेरे पास कुछ तार हैं। कुछ में शुरुआत में व्हाट्सएप है और कुछ में नहीं। मैं यह जांचना चाहता हूं कि क्या कोई व्हाट्सएप से शुरू होता है और यदि इसे हटाता है।


जवाबों:


219

NSString वर्ग में इसके लिए विधि है। जाँच करें stringByTrimmingCharactersInSet:(NSCharacterSet *)set। आपको [NSCharacterSet whitespaceCharacterSet]पैरामीटर के रूप में उपयोग करना चाहिए :

NSString *foo = @" untrimmed string ";
NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

4
यह अनुगामी व्हाट्सएप को भी ट्रिम कर देगा (जो वांछनीय हो सकता है या नहीं भी हो सकता है। (मूल प्रश्न इसे शुरू से हटाने के लिए कहता है)।
lnafziger

2
stringByTrimmingCharactersInSetकेवल स्ट्रिंग के आरंभ और अंत से वर्ण हटाता है, बीच में नहीं। उन लोगों के लिए जो एक स्ट्रिंग के बीच में स्थान को हटाने की कोशिश कर रहे हैं, का उपयोग करें [yourString stringByReplacingOccurrencesOfString:@" " withString:@""]
अर्नब

76

आप stringByTrimmingCharactersInSet NSString विधि का उपयोग व्हॉट्सएप के साथ कर सकते हैं। AndNewlineCharacterSet NSCharacterSet जैसे:

NSString *testString = @"  Eek! There are leading and trailing spaces  ";
NSString *trimmedString = [testString stringByTrimmingCharactersInSet:
                             [NSCharacterSet whitespaceAndNewlineCharacterSet]];

4
व्हाट्सएप की सिफारिश करने के लिए +1AndNewlineCharacterSet के बजाय सिर्फ व्हॉट्सएपचैचर सेसेट करें।
रिक स्मिथ-उन्नाव

1
एप्पल -1 नई पंक्तियां शामिल न करने के लिए खाली स्थान के फिर से परिभाषित करने के लिए (वे एक नया inlineWhitespaceCharacterSet बजाय करना चाहिए था)
AlexChaffee

यह अनुगामी व्हाट्सएप को भी ट्रिम कर देगा (जो वांछनीय हो सकता है या नहीं भी हो सकता है। (मूल प्रश्न इसे शुरू से हटाने के लिए कहता है)।
lnafziger

7

मैंने लिखा जाने वाले कोड की मात्रा को कम करने के लिए एक त्वरित मैक्रो लिखा।

चरण 1: अपने ऐप की पीसीएच फाइल को संपादित करें, इसे प्रोजेक्ट-नेम-प्रीफिक्स नाम देना चाहिए

#define TRIM(string) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]

चरण 2: जब आप एक स्ट्रिंग ट्रिम करना चाहते हैं तो कम कोड लिखने का आनंद लें

NSLog(@"Output: %@ %@", TRIM(@"Hello        "), TRIM(@"World      "));

Output: Hello World

6

यह केवल प्रमुख सफेद स्थान को हटा देगा।

NSString *myString = @"   123   ";
NSLog(@"mystring %@, length %d",myString, myString.length);
NSRange range = [myString rangeOfString:@"^\\s*" options:NSRegularExpressionSearch];
myString = [myString stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"mystring %@, length %d",myString, myString.length);

उत्पादन

mystring    123   , length 9
mystring 123   , length 6
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.