首页 > 代码库 > 去空格 whitespaceAndNewlineCharacterSet和过滤字符串
去空格 whitespaceAndNewlineCharacterSet和过滤字符串
一、过滤字符串
可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号
首先自己定义一个NSCharacterSet, 包含需要去除的特殊符号
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_//|~<>$€^?‘@#$%^&*()_+‘/"""]; 由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的 然后调用stringByTrimmingCharactersInSet NSString *trimmedString = [string stringByTrimmingCharactersInSet:set]; trimmedString就是过滤后的字符串
二、去除空格
1.去掉两端的空格
1 [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]
2.去掉多余的空格
1 NSString *str = @" this is a test . "; 2 3 NSCharacterSet *whitespaces = [NSCharacterSet whitespaceCharacterSet]; 4 NSPredicate *noEmptyStrings = [NSPredicate predicateWithFormat:@"SELF != ‘‘"]; 5 6 NSArray *parts = [str componentsSeparatedByCharactersInSet:whitespaces]; 7 NSArray *filteredArray = [parts filteredArrayUsingPredicate:noEmptyStrings]; 8 str = [filteredArray componentsJoinedByString:@" "];
3.去掉所有空格
1 [str stringByReplacingOccurrencesOfString:@" " withString:@""]
4.去掉最左边的空格 和 去掉最右边的空格
@interface NSString (TrimmingAdditions) - (NSString *)stringByTrimmingLeftCharactersInSet:(NSCharacterSet *)characterSet ; - (NSString *)stringByTrimmingRightCharactersInSet:(NSCharacterSet *)characterSet ; @end @implementation NSString (TrimmingAdditions) - (NSString *)stringByTrimmingLeftCharactersInSet:(NSCharacterSet *)characterSet { NSUInteger location = 0; NSUInteger length = [self length]; unichar charBuffer[length]; [self getCharacters:charBuffer]; for (location; location < length; location++) { if (![characterSet characterIsMember:charBuffer[location]]) { break; } } return [self substringWithRange:NSMakeRange(location, length - location)]; } - (NSString *)stringByTrimmingRightCharactersInSet:(NSCharacterSet *)characterSet { NSUInteger location = 0; NSUInteger length = [self length]; unichar charBuffer[length]; [self getCharacters:charBuffer]; for (length; length > 0; length--) { if (![characterSet characterIsMember:charBuffer[length - 1]]) { break; } } return [self substringWithRange:NSMakeRange(location, length - location)]; } @end
例如:NSLog(@"%@",[@"abc 123 " stringByTrimmingRightCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]);
:NSLog(@"%@",[@"0.012300" stringByTrimmingRightCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"0"]]);
去空格 whitespaceAndNewlineCharacterSet和过滤字符串
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。