Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Objective-C中大写或更改NSString的大小写_Objective C_String_Cocoa Touch_Nsstring_Uppercase - Fatal编程技术网

在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()