objective-c - 在 Objective-C 中大写或更改 NSString 的大小写

我想知道如何将 NSMutableArray 中的对象中找到的字符串大写。

NSArray 在索引 2 处包含字符串 'April'
我希望将其更改为 'APRIL'

有这样简单的东西吗?

viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] capitalized];

最佳答案

来吧:

viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] uppercaseString];

顺便说一句:
"april"小写 ➔ [NSString lowercaseString]
"APRIL"大写 ➔ [NSString uppercaseString]
"April May"大写/单词大写 ➔ [NSString capitalizedString]
“April may”Sentence caps(缺少方法;请参阅下面的解决方法)

因此,您想要的称为“大写”,而不是“大写”。 ;)

至于“句​​子大写”,必须记住,“句子”通常意味着“整个字符串”。如果您希望获得真正的句子,请使用下面的第二种方法,否则使用第一种:

@interface NSString ()

- (NSString *)sentenceCapitalizedString; // sentence == entire string
- (NSString *)realSentenceCapitalizedString; // sentence == real sentences

@end

@implementation NSString

- (NSString *)sentenceCapitalizedString {
    if (![self length]) {
        return [NSString string];
    }
    NSString *uppercase = [[self substringToIndex:1] uppercaseString];
    NSString *lowercase = [[self substringFromIndex:1] lowercaseString];
    return [uppercase stringByAppendingString:lowercase];
}

- (NSString *)realSentenceCapitalizedString {
    __block NSMutableString *mutableSelf = [NSMutableString stringWithString:self];
    [self enumerateSubstringsInRange:NSMakeRange(0, [self length])
                             options:NSStringEnumerationBySentences
                          usingBlock:^(NSString *sentence, NSRange sentenceRange, NSRange enclosingRange, BOOL *stop) {
        [mutableSelf replaceCharactersInRange:sentenceRange withString:[sentence sentenceCapitalizedString]];
    }];
    return [NSString stringWithString:mutableSelf]; // or just return mutableSelf.
}

@end

https://stackoverflow.com/questions/5586756/

相关文章:

objective-c - NSInvocation 傻瓜?

ios - 使用 AVFoundation AVPlayer 循环播放视频?

objective-c - Objective-C 中是否存在强类型集合?

ios - 较小时 UIScrollView 的中心内容

iphone - 如何在 Objective-C 2.0 中将方法标记为已弃用?

objective-c - "FOUNDATION_EXPORT"与 "extern"

objective-c - Swift References 中的 _ 下划线代表什么?

ios - 以编程方式调用电话

objective-c - 在objective-c中@符号代表什么?

objective-c - Objective-C 中可为空、__nullable 和 _Nulla