我想知道如何将 NSMutableArray
对象中的字符串大写。
NSArray
在索引2处包含字符串'April'
。
我希望将其更改为 'APRIL'
。
是否有类似以下简单的方法?
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
我想知道如何将 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"
是句首字母大写 ➔ (方法缺失;请参见下面的解决方法)
所以你想要的被称为"大写",而不是"首字母大写"。 ;)
至于"句首字母大写",必须记住通常"句子"指的是"整个字符串"。如果您希望使用真实的句子,请使用下面的第二种方法;否则使用第一种方法:
@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
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
viewNoteDateMonth.text = yourString.capitalized
这将把您的字符串转换为大写,使整个字符串都是大写字母:
viewNoteDateMonth.text = yourString.uppercased()