의 객체에서 찾은 문자열을 대문자로 표시하는 방법이 궁금합니다 NSMutableArray
.
은 NSArray
문자열이 포함되어 'April'
인덱스 2에서
나는이로 변경하려면를 'APRIL'
.
이와 같은 간단한 것이 있습니까?
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] capitalized];
답변
여기에 간다 :
viewNoteDateMonth.text = [[displayDate objectAtIndex:2] uppercaseString];
BTW :
"april"
있다 lowercase
➔ [있는 NSString lowercaseString]
"APRIL"
이다 UPPERCASE
➔ [있는 NSString uppercaseString]
"April May"
이다 Capitalized/Word Caps
➔ [있는 NSString capitalizedString]
"April may"
이다 Sentence caps
➔ (이하에서 참조 해결 방법은 누락)
따라서 원하는 것을 ” 대문자 “가 아니라 ” 대문자 “라고합니다. 😉
“문장 대문자”는 일반적으로 “문장”은 “전체 문자열”을 의미한다는 것을 명심해야합니다. 실제 문장을 원한다면 아래 두 번째 방법을 사용하십시오. 그렇지 않으면 첫 번째 방법을 사용하십시오.
@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];
lowercaseString 및 capitalizedString을 사용할 수도 있습니다.
답변
누구나 신속하게 위의 내용이 필요한 경우 :
SWIFT 3.0 이상 :
이것은 문자열을 대문자로하고 첫 글자를 대문자로 만듭니다.
viewNoteDateMonth.text = yourString.capitalized
이것은 문자열을 대문자로하고 모든 문자열을 대문자로 만듭니다.
viewNoteDateMonth.text = yourString.uppercased()