检查NSString是否包含来自其他NSString的字符 [英] Checking to see if an NSString contains characters from a different NSString
问题描述
我正在寻找一种比较两个字符串的方法,看看第二个字符串是否包含第一个字符(字母,数字,其他),请让我解释一下:
例如:假设只允许使用数字和 *的密码:
参考链(1): * 0123456789 NSString
格式,否 NSArray
工作链(2)= 156/15615 = 211 NSString
格式,
我怎么知道我的链2包含2个字符(/ =),这些字符不在我的链1中?
为了简化允许的管理字母,我不想使用 NSArray
来管理链,例如函数调用:
布尔未经授权的字母找到=检查(work_chain,reference_chain);
您必须通过 for, NSPredicate
等。
PS:我使用的是MAC OS,而不是iOS,所以我不能使用 NSRegularExpression
。
如果要使用 NSPredicate
,则可以做:
NSPredicate * predicate = [NSPredicate predicateWithFormat:@自我匹配'[0-9 *] +'];
if([predicate validateWithObject:@ 0 * 2481347 *]){
NSLog(@ passes!);
} else {
NSLog(@失败!);
}
这是使用 NSPredicate
的内置正则表达式匹配内容。 :)
I am looking for a way to compare two strings and see if the second string contains a character (letter, number, other) listed in the first, let me explain:
For example: Imagine a password with only digits and "*" are allowed:
Reference chain (1): "*0123456789" NSString
format, no NSArray
Work chain (2) = "156/15615=211" NSString
format,
How do I know that my chain 2 contains 2 characters (/=) which are not in my chain 1?
To simplify the management letters allowed, I do not want to use NSArray
to manage a chain for example a function call:
BOOL unauthorized_letter_found = check(work_chain, reference_chain);
You it must go through "for", NSPredicate
, etc. ?
PS: I'm on MAC OS, not iOS so I can not use NSRegularExpression
.
If you want to use an NSPredicate
, you can do:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES '[0-9*]+'"];
if ([predicate evaluateWithObject:@"0*2481347*"]) {
NSLog(@"passes!");
} else {
NSLog(@"fails!");
}
This is using NSPredicate
's built-in regular expression matching stuff. :)
这篇关于检查NSString是否包含来自其他NSString的字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!