gpt4 book ai didi

objective-c - 比较具有不同顺序的字符串

转载 作者:行者123 更新时间:2023-11-28 18:07:15 25 4
gpt4 key购买 nike

我有一个比较字符串的 if 语句,但我想比较具有相同单词但顺序不同的字符串,并将其返回为 true。

字符串 1 a,b,c

字符串 2 b,c,a

我如何比较它们并让 if 语句将其视为相同的字符串?

最佳答案

使用 componentsSeperatedByString 分隔字符串:使用任何字符串分隔您的单词(逗号、空格)并将结果放入 NSSet。对两个字符串执行此操作并比较集合是否相等。

修改后的方法使用 mutableArray 而不是 Set 以考虑重复字符串的问题(如注释中所述):

-(BOOL) string: (NSString*) string1 isEqualTo: (NSString*) string2 {
if (string1.length != string2.length) return NO;
if ([string1 isEqualToString: string2]) return YES;

NSMutableArray *array1 = [NSMutableArray arrayWithArray: [string1 componentsSeperatedByString: @","]];
NSMutableArray *array2 = [NSMutableArray arrayWithArray: [string2 componentsSeperatedByString: @","]];

[array1 sortUsingSelector: @selector(compare:)];
[array2 sortUsingSelector: @selector(compare:)];

return [array1 isEqualToArray: array2];
}

关于objective-c - 比较具有不同顺序的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10421805/

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