【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