比較する必要がある文字列にランダムなデータ (名前) があります。データ (名前) は常に同じとは限りませんが、この形式になります。
たとえば、次のような NSString が 2 つあります。
NSString *string1= @"Jordan Mike Liam Taylor Jill Gordon Phil Mark";
NSString *string2= @"Marcus Tony Taylor Anny Keenan Brittany Gordon Mike";
これら 2 つの文字列に基づいて、両方の文字列にMike|が含まれていることがわかります。テイラー | ゴードン
したがって、これら 2 つの文字列間の同じデータの数は 3 です。ただし、コードを介して機能させることはできません。以下は、これまでのところ私が持っているものです。私は近づいていると感じていますが、まだ十分ではありません。コミュニティからの助けを本当に感謝しています. 前もって感謝します!
NSMutableArray *tempArray= [[NSMutableArray alloc] init];
[tempArray addObject:string1];
[tempArray addObject:string2];
NSCountedSet *bag = [[NSCountedSet alloc] initWithArray:tempArray];
NSString *mostOccurring;
NSUInteger highest = 0;
for (NSString *s in bag)
{
if ([bag countForObject:s] > highest)
{
highest = [bag countForObject:s];
mostOccurring = s;
}
}
NSLog(@"Most frequent string: %d", highest);
コードを編集
NSUInteger highest = 1;
NSUInteger theCount=0;
for (NSString *s in bag)
{
if ([bag countForObject:s] > highest)
{
highest = [bag countForObject:s];
mostOccurring = s;
}
if (highest ==2)
{
theCount++;
}
}
NSLog(@"Most frequent string: %d", theCount);