獲取字符串中字母或者數(shù)字個(gè)數(shù)的兩種便捷方法

  1. 通過(guò)isnumber自帶函數(shù)進(jìn)行數(shù)字計(jì)數(shù)
  2. 使用正則表達(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ú)所有。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容