如何从字符串中删除重复的子句?对于前者我有: aaa,bbb,ttt,bbb,rrr 。 结果我想要 aaa,bbb,ttt,rrr (删除重复的 bbb )。我希望得到你的帮助。感谢。
答案 0 :(得分:3)
你可以这样做:
NSMutableSet *seen = [NSMutableSet set];
NSMutableString *buf = [NSMutableString string];
for (NSString *s in [str componentsSeparatedByString:@","]) {
if (![seen containsObject:s]) {
[seen add:s];
[buf appendFormat:@",%@", s];
}
}
NSString *res = [buf length] ? [buf substringFromIndex:1] : @"";
答案 1 :(得分:0)
分三步完成
1)NSArray *items = [theString componentsSeparatedByString:@","];
2)从数组中删除重复元素
NSArray* array = [NSArray arrayWithObjects:@"test1", @"test2", @"test1", @"test2",@"test4", nil];
NSArray* filteredArray = [[NSArray alloc] init];
NSSet *set= [NSOrderedSet orderedSetWithArray:array];
filteredArray = [set allObjects];
3)从数组中读取字符串
NSString *myString = [myArray componentsJoinedByString:@","];
答案 2 :(得分:0)
您可以使用NSMutableDictionary; 字典中有两个元素; 1.关键 2.价值
只需将Keys设置为数组元素; 特别要点是'Key'不能重复;
现在只需使用[dictionary allKeys];
获取键数组现在,在此阶段,您在新数组中拥有唯一值;