- 通過(guò)isnumber自帶函數(shù)進(jìn)行數(shù)字計(jì)數(shù)
- 使用正則表達(dá)式進(jìn)行字符串篩選計(jì)數(shù)
一、isnumber函數(shù)
- 獲得字符串中的數(shù)字個(gè)數(shù), isnumber提供了判斷字符為數(shù)字的機(jī)制
- (NSInteger)numberCount {
NSInteger count = 0;
for (NSInteger i = 0; i < self.length; ++i) {
if (isnumber([self characterAtIndex:i])) {
// isnumber提供了判斷字符為數(shù)字的機(jī)制
count++;
}
}
return count;
}
- 獲得僅包含數(shù)字的字符串
- (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;
}
二、正則表達(dá)式
- (NSInteger)countByRegex {
// 根據(jù)需要篩選字母、數(shù)字選定篩選語(yǔ)句
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;
}
只想日后回頭看看來(lái)時(shí)的路,能發(fā)現(xiàn)自己并不是一無(wú)所有。