Objective-C で NSString の大文字と小文字を変更する 質問する

Objective-C で NSString の大文字と小文字を変更する 質問する

オブジェクト内にある文字列を大文字にするにはどうすればいいのか知りたいですNSMutableArray

An にはインデックス 2 のNSArray文字列が含まれています。これを に変更します。'April'
'APRIL'

こんな簡単なものってあるんですか?

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

ベストアンサー1

はい、どうぞ:

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

ちなみに:
"april"lowercase[NSString 小文字の文字列]
"APRIL"UPPERCASE[NSString 大文字文字列]
"April May"Capitalized/Word Caps[NSString 大文字の文字列]
"April may"Sentence caps(メソッドがありません。以下の回避策を参照してください)

したがって、あなたが望むものは「大文字"、 ない "大文字「。;)」

「文頭キャップ」に関しては、通常「文」は「文字列全体」を意味することを覚えておく必要があります。実際の文が必要な場合は、以下の 2 番目の方法を使用します。それ以外の場合は、1 番目の方法を使用します。

@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

おすすめ記事