在PHP(这是我最熟悉的)中,它是一个单行表达式:
strpos('abc', 'b') !== false
Objective C等价物是什么?
答案 0 :(得分:6)
[@"abc" rangeOfString:@"b"].location != NSNotFound
答案 1 :(得分:3)
我认为类别可以用来很好地打包这样的功能。
@interface NSString (ContainsString)
- (BOOL)containsString:(NSString *)string;
@end
@implementation NSString (ContainsString)
- (BOOL)containsString:(NSString *)string
{
NSRange range = [self rangeOfString:string options:NSCaseInsensitiveSearch];
return range.location != NSNotFound;
}
@end
使用时,它的含义非常清晰。
if ([@"this is a string" containsString:@"a string"]) {
…
}
在大多数项目中,这将是更大的字符串方法类别的一部分,而不是它自己的单方法类别。
答案 2 :(得分:0)
- (NSRange)rangeOfString:(NSString *)aString
中找到更多有用的字符串操作函数返回值NSRange结构,给出位置和长度 第一次出现aString的接收者。返回{NSNotFound, 0}如果找不到aString或为空(@“”)。