如标题所述,我需要以如下格式设置文本字符串:“你好,世界。你好吗?”进入“你好,世界。你好吗?”,在iOS中有没有标准的方法可以做到这一点?还是有示例代码?
谢谢!
最佳答案
没有直接的方法可以将段落中句子的首字母大写。 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;
}
注意:上面的代码假定段落中的所有句子都以字符
". "
(点和空格)结尾,但最后一个句子除外(可以以任何字符结尾)。如果句子以其他字符如"? "
或"! "
结尾,则此方法将返回格式不正确的字符串。关于objective-c - 格式化“HELLO,WORLD”中的文本。您好吗?”改为“你好,世界。你好吗?”在ObjC(iOS)中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6773545/