我有一个比较字符串的if语句,但我想比较具有相同单词但顺序不同的字符串并将其返回为true.
字符串1a,b,c
string 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];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
228 次 |
| 最近记录: |