2013-04-12 68 views
0

我需要统计单词中的相同字母。例如:苹果是我的词,首先我发现这封信中是否存在“a”。之后,我想要统计该字中的'a'的数量,但我无法做到这一点。这是我的代码,它可以找到特定的字母;统计单词中的相同字母

if([originalString rangeOfString:compareString].location==NSNotFound) 
{ 
    NSLog(@"Substring Not Found"); 
} 

else 
{ 
    NSLog(@"Substring Found Successfully"); 


} 

originalString是我从我的数据库中随机取出的一个词。那么,如何计数? 感谢您的帮助。

+0

就像当你发现 '一',那么你需要在你的字符串来算一个?请清除您的问题 – Buntylm

+0

您可以设置一个整数变量来跟踪并在每次匹配时增加它 - 例如,像这样:'int i = 0; if(![originalString rangeOfString:compareString] .location == NSNotFound)i ++;' – Robert

+0

如果您需要知道字母'a'在苹果词中有多少次可以使用'正则表达式'尝试匹配该字母a,并检查比赛的次数。 – 2pietjuh2

回答

0
NSString *strComplete = @"Appleeeeeeeeeeeeeee Appleeeeeeeee Aplleeeeeeeeee"; 
NSString *stringToFind = @"e"; 
NSArray *arySearch = [strComplete componentsSeparatedByString:stringToFind]; 
int countTheOccurrences = [arySearch count] - 1; 

输出:

countTheOccurrences --- 34 
0

您可以只需loop over the string once,将每个字母加到NSMutableDictionary(作为键),并保持字母出现次数(作为值)。

由此产生的NSMutableDictionary将保存每个独特字母的出现次数,从而您可以提取您喜欢的内容。

3

我有不同的想法,让我们尝试......

NSString *string = @"appple"; 
    int times = [[string componentsSeparatedByString:@"p"] count]-1; 

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

Arrr,我也只是想写^^ – xapslock

+0

@xapslock谢谢 – Spynet