【iOS】去除字符串首尾空格或某字符


在iOS的實際開發中,常會出現需要去除空格的情況,總結有三種情況:

  • 去除字符串首尾連續字符(如空格);
  • 去除字符串首部連續字符(如空格);
  • 去除字符串尾部連續字符(如空格);

去除字符串首尾連續字符(如空格)

 NSString *a = @" a sdf "; [a stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

去除字符串首部連續字符(如空格);

 NSString *a = @" a sdf "; NSString *leftResult = [a stringByTrimmingLeftCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
#import "NSString+util.h" @implementation NSString (util) - (NSString *)stringByTrimmingLeftCharactersInSet:(NSCharacterSet *)characterSet { NSUInteger location = 0; NSUInteger length = [self length]; unichar charBuffer[length]; [self getCharacters:charBuffer range:NSMakeRange(0, length)]; for (NSInteger i = 0; i < length; i++) { if (![characterSet characterIsMember:charBuffer[i]]) { location = i; break; } } return [self substringWithRange:NSMakeRange(location, length - location)]; } 

去除字符串尾部連續字符(如空格);

NSString *a = @" a sdf "; NSString *rightResult = [a stringByTrimmingRightCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
- (NSString *)stringByTrimmingRightCharactersInSet:(NSCharacterSet *)characterSet { NSUInteger length = [self length]; unichar charBuffer[length]; [self getCharacters:charBuffer range:NSMakeRange(0, length)]; NSUInteger subLength = 0; for (NSInteger i = length; i > 0; i--) { if (![characterSet characterIsMember:charBuffer[i - 1]]) { subLength = i; break; } } return [self substringWithRange:NSMakeRange(0, subLength)]; }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM