在Objective-C中大写或更改NSString的大小写
我想知道如何将在Objective-C中大写或更改NSString的大小写,objective-c,string,cocoa-touch,nsstring,uppercase,Objective C,String,Cocoa Touch,Nsstring,Uppercase,我想知道如何将NSMutableArray中对象中的字符串大写 NSArray包含索引2处的字符串'April'。 我希望将此更改为'APRIL' 有这样简单的事情吗 viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized]; 给你: viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString]; 顺便说一句: “april”
NSMutableArray
中对象中的字符串大写
NSArray
包含索引2处的字符串'April'
。我希望将此更改为
'APRIL'
有这样简单的事情吗
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
给你:
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
顺便说一句:“april”
是小写的
➔ “APRIL”
是大写字母
➔ “April-May”
是大写的/Word Caps
➔ “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
文件:
如果任何人需要swift中的上述内容,您也可以使用和: SWIFT 3.0及以上版本: 这将使字符串大写,使第一个字母大写:
viewNoteDateMonth.text = yourString.capitalized
这将使字符串大写,使所有字符串都大写:
viewNoteDateMonth.text = yourString.uppercased()
viewNoteDateMonth.text = yourString.uppercased()