gpt4 book ai didi

ios - 从 NSString 中删除重复的单词并另存为新的 NSString

转载 作者:可可西里 更新时间:2023-11-01 06:20:42 27 4
gpt4 key购买 nike

在某些情况下,我可能有一个包含多个单词的 NSString,其中一些是重复的。我想要做的是采用如下所示的字符串:

One Two Three Three Three Two Two Two One One Two Three

让它看起来像:

One Two Three

有时原始 NSString 的确切长度也可能不同。到目前为止我所拥有的是:

NSString *hereitis = @"First Second Third Second Third First First First";
NSArray *words = [hereitis componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSCountedSet *countedSet = [NSCountedSet setWithArray:words];
NSMutableArray *finalArray = [NSMutableArray arrayWithCapacity:[words count]];

for(id obj in countedSet) {
if([countedSet countForObject:obj] == 1) {
[finalArray addObject:obj];
}
}
NSString *string = [finalArray componentsJoinedByString:@" "];
NSLog(@"String%@", string);

然而,这只是返回数组中的字符串,而不是任何单词。

最佳答案

这实际上可以轻松地完成。 NSSet 不允许重复条目。因此,您可以将字符串分解为一个数组,并使用该数组创建集合。从那里开始,您所要做的就是转换回来,然后删除复制品。

NSString *inputString = @"One Two Three Three Three Two Two Two One One Two Three";
NSSet *aSet = [NSSet setWithArray:[inputString componentsSeparatedByString:@" "]];
NSString *outputString = [aSet.allObjects componentsJoinedByString:@" "];

NSLog(@"___%@___",outputString); // Outputs "___One Two Three___"

关于ios - 从 NSString 中删除重复的单词并另存为新的 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436806/

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