オブジェクト内にある文字列を大文字にするにはどうすればいいのか知りたいです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