计算NSString中大写字母和数字的出现次数

Ada*_*ter 4 objective-c nsstring

在PHP中我使用以下代码...

$passwordCapitalLettersLength = strlen(preg_replace("![^A-Z]+!", "", $password));
$passwordNumbersLength = strlen(preg_replace("/[0-9]/", "", $password));
Run Code Online (Sandbox Code Playgroud)

...计算密码中出现大写字母和数字的次数.

Objective C中的相当于什么?

Pri*_*ine 7

你可以使用NSCharacterSet:

NSString *password = @"aas2dASDasd1asdASDasdas32D";
int occurrenceCapital = 0;  
int occurenceNumbers = 0;
for (int i = 0; i < [password length]; i++) {
    if([[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[password characterAtIndex:i]])
       occurenceCapital++;

    if([[NSCharacterSet decimalDigitCharacterSet] characterIsMember:[password characterAtIndex:i]])
       occurenceNumbers++;

}
Run Code Online (Sandbox Code Playgroud)