- 通过isnumber自带函数进行数字计数
- 使用正则表达式进行字符串筛选计数
一、isnumber函数
- 获得字符串中的数字个数, isnumber提供了判断字符为数字的机制
- (NSInteger)numberCount {
NSInteger count = 0;
for (NSInteger i = 0; i < self.length; ++i) {
if (isnumber([self characterAtIndex:i])) {
// isnumber提供了判断字符为数字的机制
count++;
}
}
return count;
}
- 获得仅包含数字的字符串
- (NSString *)numberString {
NSMutableString *string = [NSMutableString string];
for (NSInteger i = 0; i < self.length; ++i) {
if (isnumber([self characterAtIndex:i])) {
[string appendFormat:@"%c", [self characterAtIndex:i]];
}
}
return string;
}
二、正则表达式
- (NSInteger)countByRegex {
// 根据需要筛选字母、数字选定筛选语句
NSString *numberRegexStr = @"[0-9]";
// NSString *symbolRegexStr = @"[a-zA-Z]";
NSRegularExpression *regularExpression = [[NSRegularExpression alloc] initWithPattern:numberRegexStr
options:NSRegularExpressionCaseInsensitive
error:nil];
NSArray *resultArray = [regularExpression matchesInString:self
options:0
range:NSMakeRange(0, self.length)];
return resultArray.count;
}
只想日后回头看看来时的路,能发现自己并不是一无所有。