13

文字列内の文字の出現をカウントするにはどうすればよいですか?

文字列: 123-456-7890

与えられた文字列中の「-」の出現回数を知りたい

4

7 に答える 7

36

次のように簡単に実行できます。

NSString *string = @"123-456-7890";
int times = [[string componentsSeparatedByString:@"-"] count]-1;

NSLog(@"Counted times: %i", times);

出力:

Counted times: 2

于 2012-05-14T13:35:02.137 に答える
2

これで作業は完了しますが、

int numberOfOccurences = [[theString componentsSeparatedByString:@"-"] count];
于 2012-05-14T13:35:30.487 に答える
2

私はあなたのためにこれをしました。これを試して。

unichar findC;
int count = 0;
NSString *strr = @"123-456-7890";

for (int i = 0; i<strr.length; i++) {
    findC = [strr characterAtIndex:i];
    if (findC == '-'){
        count++;
    }
}

NSLog(@"%d",count);
于 2012-05-14T13:45:09.610 に答える
1
int total = 0;
NSString *str = @"123-456-7890";
for(int i=0; i<[str length];i++)
{
    unichar c = [str characterAtIndex:i];
    if (![[NSCharacterSet alphanumericCharacterSet] characterIsMember:c])
    {
        NSLog(@"%c",c);
        total++;
    }
}
NSLog(@"%d",total);

これはうまくいきました。それが役に立てば幸い。ハッピーコーディング:)

于 2012-05-14T13:33:54.763 に答える
1
int num = [[[myString mutableCopy] autorelease] replaceOccurrencesOfString:@"-" withString:@"X" options:NSLiteralSearch range:NSMakeRange(0, [myString length])];

このreplaceOccurrencesOfString:withString:options:range:メソッドは、行われた置換の数を返すので、それを使用し-て文字列内の の数を計算できます。

于 2012-05-14T13:30:46.480 に答える
0

あなたはreplaceOccurrencesOfString:withString:options:range:の方法を使用することができますNSString

于 2012-05-14T13:33:07.850 に答える