пример того, что я пытаюсь сделать:получить первую букву каждого слова в строке, используя Objective-C
String = «Это мое предложение»
Я ищу, чтобы получить это как результат: «TIMS»
Я борюсь с Objective-C и строки по какой-то причине
пример того, что я пытаюсь сделать:получить первую букву каждого слова в строке, используя Objective-C
String = «Это мое предложение»
Я ищу, чтобы получить это как результат: «TIMS»
Я борюсь с Objective-C и строки по какой-то причине
Наивное решение:
NSMutableString * firstCharacters = [NSMutableString string];
NSArray * words = [@"this is my sentence" componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
for (NSString * word in words) {
if ([word length] > 0) {
NSString * firstLetter = [word substringToIndex:1];
[firstCharacters appendString:[firstLetter uppercaseString]];
}
}
Обратите внимание, что это своего рода глупо о разрыве слов (только собирается пробелами, что не всегда лучший подход), и он не обрабатывает utf16 + символы.
Если вам нужно обрабатывать utf16 + символы, изменить if()
заявление внутри цикла к:
if ([word length] > 0) {
NSString * firstLetter = [word substringWithRange:[word rangeOfComposedCharacterSequenceAtIndex:0]];
[firstCharacters appendString:[firstLetter uppercaseString]];
}
Вы всегда можете использовать метод cStringUsingEncoding: и просто итерируем константный символ *. Или лучше, вы можете использовать метод getCharacters:
Когда вы итерации, вам просто нужно сделать цикл for и проверить, является ли предыдущий символ символом '' и добавляет его к вашей временной переменной. Если вы хотите, чтобы он был прописным, просто используйте uppercaseString в конце.
см яблочного документа для получения дополнительной информации: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/getCharacters:range:
Я также бороться со строками когда-то, имена функций не очень похожи на другие языки, как C++/Java, например.
, как использовать это в стрижа? – 2015-11-09 10:45:50