में शब्द घटना गिनती खोजने का सबसे प्रभावी तरीका स्ट्रिंग को देखते हुए, मुझे उस स्ट्रिंग में दिखाई देने वाले प्रत्येक शब्द की गिनती प्राप्त करने की आवश्यकता है। ऐसा करने के लिए, मैंने स्ट्रिंग को शब्द के द्वारा सरणी में निकाला, और उस तरह से खोज की, लेकिन मुझे लगता है कि स्ट्रिंग को सीधे खोजना अधिक इष्टतम है। नीचे वह कोड है जिसे मैंने मूल रूप से समस्या को हल करने के लिए लिखा था। हालांकि मैं बेहतर समाधान पर सुझावों के लिए तैयार हूं।आईओएस - एक स्ट्रिंग
NSMutableDictionary *sets = [[NSMutableDictionary alloc] init];
NSString *paragraph = [[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"text" ofType:@"txt"] encoding:NSUTF8StringEncoding error:NULL];
NSMutableArray *words = [[[paragraph lowercaseString] componentsSeparatedByString:@" "] mutableCopy];
while (words.count) {
NSMutableIndexSet *indexSet = [[NSMutableIndexSet alloc] init];
NSString *search = [words objectAtIndex:0];
for (unsigned i = 0; i < words.count; i++) {
if ([[words objectAtIndex:i] isEqualToString:search]) {
[indexSet addIndex:i];
}
}
[sets setObject:[NSNumber numberWithInt:indexSet.count] forKey:search];
[words removeObjectsAtIndexes:indexSet];
}
NSLog(@"%@", sets);
उदाहरण:
शुरू स्ट्रिंग:
"।। यह है एक परीक्षण यह केवल एक परीक्षण है"
परिणाम:
- "यह" - 2
- "एक" - - 2
- "परीक्षण" - 2
- "केवल" 2
- "है" - 1
क्या आपकी विधि काम करती है? क्या आपको डॉट प्रतीक के साथ समस्या नहीं है? मुझे लगता है कि आपके पास "परीक्षण" होना चाहिए। "परीक्षण" के बजाय। – Ricardo