Remove whitespace from string in Objective-C

前端 未结 4 735
南旧
南旧 2020-11-30 21:59

I have a couple of strings. Some have a whitespace in the beginning and some not. I want to check if a string begins with a whitespace and if so remove it.

相关标签:
4条回答
  • 2020-11-30 22:13

    I wrote a quick macro to reduce the amount of code needed to be written.

    Step 1: Edit your app's PCH file, this should be named Project-Name-Prefix.pch

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

    Step 2: Enjoy writing way less code when you want to trim a string

    NSLog(@"Output: %@ %@", TRIM(@"Hello        "), TRIM(@"World      "));
    
    Output: Hello World
    
    0 讨论(0)
  • 2020-11-30 22:16

    There is method for that in NSString class. Check stringByTrimmingCharactersInSet:(NSCharacterSet *)set. You should use [NSCharacterSet whitespaceCharacterSet] as parameter:

    NSString *foo = @" untrimmed string ";
    NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    
    0 讨论(0)
  • 2020-11-30 22:17

    You could use the stringByTrimmingCharactersInSet NSString method with the whitespaceAndNewlineCharacterSet NSCharacterSet as such:

    NSString *testString = @"  Eek! There are leading and trailing spaces  ";
    NSString *trimmedString = [testString stringByTrimmingCharactersInSet:
                                 [NSCharacterSet whitespaceAndNewlineCharacterSet]];
    
    0 讨论(0)
  • 2020-11-30 22:29

    This will remove only the leading white space.

    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);
    

    output

    mystring    123   , length 9
    mystring 123   , length 6
    
    0 讨论(0)
提交回复
热议问题