2013-04-12 103 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