我需要比较的字符串中有随机数据(名称)。数据(名称)并不总是相同的,但会采用这种格式。
例如,我有两个这样的 NSString:
NSString *string1= @"Jordan Mike Liam Taylor Jill Gordon Phil Mark";
NSString *string2= @"Marcus Tony Taylor Anny Keenan Brittany Gordon Mike";
基于这两个字符串,我们可以看到两个字符串都包含Mike| 泰勒 | 戈登
所以这两个字符串之间的相同数据的计数是 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);