gpt4 book ai didi

iOS : containsObject Check for String

转载 作者:行者123 更新时间:2023-11-28 18:04:36 24 4
gpt4 key购买 nike

我有这样的字符串数组:数组 = P123、P234、P543、P678

我有像 P12300 这样的字符串。(这可以是数组中的相同字符串,也可以没有尾随零)。

我正在使用 containsObject

if(Array containsObject: P123)    ==> TRUE
if(Array containsObject: P23400) ==> FALSE
if(Array containsObject: P1230) ==> FALSE

是否有更好的方法来比较字符串,以便上述所有情况都为真?

目前我正在使用 containsObject,但我没有得到想要的结果,因为条件只对完全相同的字符串为真。

请告诉我好方法..

最佳答案

objective-c

您可以为此使用 NSPredicate

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self BEGINSWITH[c] %@", @"P123"];
NSArray *filterArray = [yourArray filteredArrayUsingPredicate: predicate];
if (filterArray.count > 0) {
print("Contains")
}
else {
print("Not")
}

swift

是的,你可以那样检查,你只需要为此使用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];

关于iOS : containsObject Check for String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44405573/

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