How to remove whitespace from right end of NSString?

后端 未结 4 790
刺人心
刺人心 2020-11-29 09:01

This removes white space from both ends of a string:

NSString *newString = [oldString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCha         


        
4条回答
  •  一生所求
    2020-11-29 10:06

    Needs a slight change to account for the case when last non-trailing character is multibyte:

    - (NSString *)stringByTrimmingTrailingCharactersInSet:(NSCharacterSet *)characterSet {
        NSRange rangeOfLastWantedCharacter = [self rangeOfCharacterFromSet:[characterSet invertedSet]
                                                                   options:NSBackwardsSearch];
        if (rangeOfLastWantedCharacter.location == NSNotFound) {
            return @"";
        }
        return [self substringToIndex:rangeOfLastWantedCharacter.location + rangeOfLastWantedCharacter.length]; // non-inclusive
    }
    

提交回复
热议问题