142

のオブジェクトで見つかった文字列を大文字にする方法を考えていましたNSMutableArray

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

こんな簡単なことある?

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

3 に答える 3

394

どうぞ:

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

ところで:
"april"is lowercase[NSString lowercaseString]
"APRIL" is UPPERCASE[NSString uppercaseString]
"April May" is Capitalized/Word Caps[NSString capitalizedString]
"April may" is Sentence caps(メソッドがありません。以下の回避策を参照してください)

したがって、必要なものは「大文字」ではなく「大文字」と呼ばれます。;)

「Sentence Caps」に関しては、通常「Sentence」は「文字列全体」を意味することに注意してください。実際の文が必要な場合は、以下の 2 番目の方法を使用し、それ以外の場合は最初の方法を使用します。

@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
于 2011-04-07T19:52:08.810 に答える
20
viewNoteDateMonth.text  = [[displayDate objectAtIndex:2] uppercaseString];

ドキュメント:http ://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/uppercaseString

lowercaseStringcapitalizedStringを使用することもできます

于 2011-04-07T19:53:46.847 に答える