2
원본 문자열을 통한 수동 반복없이 표준 방법을 사용하여이를 수행하는 방법은 무엇입니까?NSString에서 중복 된 문자를 모두 제거
추신 : 나는 소스 문자열의 정렬 된 문자를 얻고 싶습니다. NSCharacterSet
을 사용하려고했지만 문자 세트를 문자열로 변환하는 메소드를 찾을 수 없습니다 (세트를 반복하지 않고). 중복 제거 (
NSString *input = @"addbcddaa";
NSMutableSet *seenCharacters = [NSMutableSet set];
NSMutableString *result = [NSMutableString string];
[input enumerateSubstringsInRange:NSMakeRange(0, input.length) options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
if (![seenCharacters containsObject:substring]) {
[seenCharacters addObject:substring];
[result appendString:substring];
}
}];
NSLog(@"String with duplicate characters removed: %@", result);
NSLog(@"Sorted characters in input: %@", [seenCharacters.allObjects sortedArrayUsingSelector:@selector(compare:)]);
이는 문자열 "adbc"
결과 :
소스 문자열을 반복하지 않고도이 작업을 수행 할 수 있다고 생각하지 않습니다. – omz
이 질문과 유사 http://stackoverflow.com/questions/1072744/checking-for-multiple-characters-in-nsstring –