2010-10-14 8 views

Antwort

25

Dies ist die kurze Antwort, die jede langwierige

Codierung benötigen tut
NSString *newString = [[tempstr componentsSeparatedByCharactersInSet: 
          [[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""];` 

swift 3:

(tempstr.components(separatedBy:NSCharacterSet.letters.inverted)).joined(separator: "") 

zB:

("abc123".components(separatedBy:NSCharacterSet.letters.inverted)).joined(separator: "") 
+0

Total Genius! Vielen Dank! – DoctorG

0

fand ich eine Antwort: von remove-all-but-numbers-from-nsstring

NSString *originalString = @"(123) 123123 abc"; 

NSLog(@"%@", originalString); 
NSMutableString *strippedString = [NSMutableString 
            stringWithCapacity:originalString.length]; 

NSScanner *scanner = [NSScanner scannerWithString:originalString]; 
NSCharacterSet *numbers = [NSCharacterSet 
          characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz"]; 

while ([scanner isAtEnd] == NO) { 
    NSString *buffer; 
    if ([scanner scanCharactersFromSet:numbers intoString:&buffer]) { 
     [strippedString appendString:buffer]; 

    } else { 
     [scanner setScanLocation:([scanner scanLocation] + 1)]; 
    } 
} 

NSLog(@"%@", strippedString); 
+0

Ich bin kein Experte für xcode, aber gibt es keine einfachere Lösung für diese einfache Aufgabe? –

+0

Ich bin ziemlich überrascht, dass dies nicht zuvor gesehen wurde, aber diese Antwort wurde Wort für Wort von stackoverflow.com/questions/1129521/remove-all-but-numbers-from-nsstringst nicht gut, um jemand anderen zu kopieren Antwort wie Das. – Popeye

+0

Entschuldigung, ich wusste nicht über diesen Link. Eigentlich hat einer meiner Freunde diese Antwort gegeben, also habe ich hier nur kopiert .. wie auch immer ich meinen Link als Referenz hinzufügen werde. –

1
NSString *stringToFilter = @"filter-me"; 


    NSMutableString *targetString = [NSMutableString string]; 


    //set of characters which are required in the string...... 
    NSCharacterSet *okCharacterSet = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyz"]; 


    for(int i = 0; i < [stringToFilter length]; i++) 
    { 
     unichar currentChar = [stringToFilter characterAtIndex:i]; 
     if([okCharacterSet characterIsMember:currentChar]) 
     { 
      [targetString appendFormat:@"%C", currentChar]; 
     } 
    } 


    NSLog(targetString);  


    [super viewDidLoad]; 
} 

das mir gegeben eine Antwort war und arbeitet

feinen
+0

Danke ich habe, was ich will von diesem Code ... –

Verwandte Themen