gpt4 book ai didi

objective-c - 从 NSString 中删除所有重复的字符

转载 作者:行者123 更新时间:2023-12-04 18:18:49 25 4
gpt4 key购买 nike

如何使用标准方法(无需通过源字符串手动迭代)来做到这一点?

PS:最后我想得到源字符串的排序字符。我尝试使用 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" (重复删除)和唯一字符的排序数组 ["a", "b", "c", "d"] .

关于objective-c - 从 NSString 中删除所有重复的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11152459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com