我有一个NSString,我在开始和结束时修剪空白区域。现在我想让字符串的第一个字母或字母显示为大写。
是否有短片,或者我需要拿第一个字母表并将其转换为我自己的资本。
TNX。
答案 0 :(得分:37)
你必须手工完成。这是许多人经常被分类的事情之一,Apple可能不敢将其作为实际方法添加,因为它会产生类别冲突。
NSString *firstCapChar = [[string substringToIndex:1] capitalizedString];
NSString *cappedString = [string stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:firstCapChar];
当然有许多其他解决方案使用NSMutableString或您喜欢的任何其他方式使用unichar或其他任何方式。
答案 1 :(得分:7)
- (NSString *)capitalizedString
将使字符串中的所有单词最初大写。如果你的字符串中只有一个或两个单词,这可能就是你想要的。
答案 2 :(得分:0)
@BrianRamsay答案很好但是它使所有单词大写而不是第一个单词。我为@RobNapier答案创建了一个舒适的类别:
@interface NSString (Initcap)
@property (readonly) NSString *initcappedString;
@end
@implementation NSString (Initcap)
- (NSString *)initcappedString {
NSString *firstCapChar = [[self substringToIndex:1] capitalizedString];
return [self stringByReplacingCharactersInRange:NSMakeRange(0,1)
withString:firstCapChar];
}
@end
接下来使用它str.initcappedString
。