Нет прямого способа заглавных букв первых символов предложений в абзаце. NSString просто имеет метод capitalizedString , который использует заглавные буквы для каждого слова.Вы должны создать свою собственную логику, чтобы достичь этого.Вы можете попробовать следующий код:
- (NSString *)captilizeParagraph:(NSString *)paragraph {
if ([paragraph length] == 0) return paragraph;
NSArray *sentences = [paragraph componentsSeparatedByString:@". "];
NSMutableArray *capitalizedSentences = [NSMutableArray array];
for (NSString *sentence in sentences) {
sentence = [sentence lowercaseString];
sentence = [sentence stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[sentence substringToIndex:1] uppercaseString]];
[capitalizedSentences addObject:sentence];
}
NSString *capitalizedParagrah = [capitalizedSentences componentsJoinedByString:@". "];
return capitalizedParagrah;
}
Примечание: В приведенном выше коде предполагается, что все предложения в абзаце заканчиваются символами ". "
(точка и пробел), кромепоследнее предложение (может заканчиваться любым символом).Если предложение заканчивается некоторыми другими символами, такими как "? "
или "! "
, то этот метод возвращает не полностью отформатированную строку.