IOS:containsObject检查字符串
我有像Array的数组:Array = P123,P234,P543,P678
并且我有P12300这样的字符串(这可以是数组中相同的字符串,也可以不带零)。
我正在使用containsObject
if(Array containsObject: P123) ==> TRUE
if(Array containsObject: P23400) ==> FALSE
if(Array containsObject: P1230) ==> FALSE
有没有更好的方法来比较字符串,以便上面的所有情况都是正确的?
目前我正在使用containsObject,并且我没有得到想要的结果,因为条件只对完全相同的字符串为真。
请让我知道好方法..
目标c
你可以使用NSPredicate
。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self BEGINSWITH[c] %@", @"P123"];
NSArray *filterArray = [yourArray filteredArrayUsingPredicate: predicate];
if (filterArray.count > 0) {
print("Contains")
}
else {
print("Not")
}
迅速
是的 ,你可以这样检查,你需要简单地使用contains(where:)
。
if yourArray.contains(where: { $0.hasPrefix("P123") }) {
print("Contains")
}
else {
print("Not")
}
编辑:如果你想忽略尾随零,你可以截断尾随零,然后再与数组进行比较。
NSString *str = @"P12300";
NSRange range = [str rangeOfString:@"0*$" options:NSRegularExpressionSearch];
str = [str stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"%@", str); //P123
//Now use this str to check its inside the array or not
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self BEGINSWITH[c] %@", str];
你可能想要使用[string1 isEqualToString:string2]
在这种情况下,只有在字符串相等的情况下才会评估为真。
你也可以使用containString
方法。 你可能会发现这个链接有用。
NSPredicate
很好,另一种方法是使用containsString:
方法
//assumes all objects in the array are NSStrings
- (NSArray *)array:(NSArray *)array containsSubstring:(NSString *)substring {
NSMutableArray *newArray = [[NSMutableArray alloc] init];
for (NSString *string in array) {
if([string containsString:substring]) {
[newArray addObject:string];
}
}
return newArray;
}
现在你可以这样称呼它
NSArray *stringArray = @[@"P12300", @"P23400", @"P5430", @"P678"];
NSArray *subArray = [self array:stringArray containsSubstring:@"P23"];
NSLog(@"%@", subArray);
Swift 3:
在Swift中使用过滤器非常简单
let array: [String] = ["P12300", "P23400", "P5430", "P678"]
let newArray = array.filter {
$0.contains("P123")
}
print(newArray)
链接地址: http://www.djcxy.com/p/74011.html
上一篇: IOS : containsObject Check for String
下一篇: NSString built in method to compare number of similar characters