如何在iPhone开发中制作NSString Capital的首字母

时间:2009-07-28 18:27:40

标签: iphone

我有一个NSString,我在开始和结束时修剪空白区域。现在我想让字符串的第一个字母或字母显示为大写。

是否有短片,或者我需要拿第一个字母表并将其转换为我自己的资本。

TNX。

3 个答案:

答案 0 :(得分:37)

你必须手工完成。这是许多人经常被分类的事情之一,Apple可能不敢将其作为实际方法添加,因为它会产生类别冲突。

NSString *firstCapChar = [[string substringToIndex:1] capitalizedString];
NSString *cappedString = [string stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:firstCapChar];

当然有许多其他解决方案使用NSMutableString或您喜欢的任何其他方式使用unichar或其他任何方式。

答案 1 :(得分:7)

- (NSString *)capitalizedString

将使字符串中的所有单词最初大写。如果你的字符串中只有一个或两个单词,这可能就是你想要的。

Here is the NSString class reference

答案 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