Rog*_*Rog 10 cocoa cocoa-touch nsstring
我想将NSString的第一个字符更改为大写.不幸的是,- (NSString *)capitalizedString将每个单词的第一个字母转换为大写.有一种简单的方法可以将单个字符转换为大写吗?
我目前正在使用:
NSRange firstCharRange = NSMakeRange(0,1);
NSString* firstCharacter = [dateString substringWithRange:firstCharRange];
NSString* uppercaseFirstChar = [firstCharacter originalString];
NSMutableString* capitalisedSentence = [originalString mutableCopy];
[capitalisedSentence replaceCharactersInRange:firstCharRange withString:uppercaseFirstChar];
Run Code Online (Sandbox Code Playgroud)
这看起来有点复杂,但至少不会对底层unicode字符串的编码做出任何假设.
doo*_*ork 17
与你所拥有的方法非常类似,但更加简洁:
NSString *capitalisedSentence =
[dateString stringByReplacingCharactersInRange:NSMakeRange(0,1)
withString:[[dateString substringToIndex:1] capitalizedString]];
Run Code Online (Sandbox Code Playgroud)
由于NSString是不可变的,因此您所拥有的似乎是做您想做的事情的好方法。和类似方法的实现(NSString*)uppercaseString可能看起来非常像您所编写的方法,因为它们返回一个新的方法,NSString而不是修改您发送消息的方法。
| 归档时间: |
|
| 查看次数: |
10795 次 |
| 最近记录: |