如何检查包含特定字符或单词的字符串。 在我的情况下,我有一个字符串" 红色手册"。在这里,我必须在我的字符串中检查" red ma" 。 我尝试使用一系列字符串方法,但不满足条件。
这是我的代码
NSString *string = @"red manual";
NSRange newlineRange = [string rangeOfString:@"red ma"];
if(newlineRange.location != NSNotFound)
{
NSLog(@"found");
}
else
{
NSLog(@"not found");
}
答案 0 :(得分:7)
NSString *string = @"hello bla bla";
if ([string rangeOfString:@"bla"].location == NSNotFound) {
NSLog(@"string does not contain bla");
} else {
NSLog(@"string contains bla!");
}
关键是注意到rangeOfString
:返回NSRange struct
,如果“haystack”不包含“针头”,文档会说明returns
struct {NSNotFound, 0}
”
如果您使用的是iOS 8或OS X Yosemite,您现在可以:
NSString *string = @"hello bla blah";
if ([string containsString:@"bla"]) {
NSLog(@"string contains bla!");
} else {
NSLog(@"string does not contain bla");
}
这里是answered
答案 1 :(得分:1)
请尝试以下操作:
NSString *data = @"red manual";
if ([data rangeOfString:@"red ma" options:NSCaseInsensitiveSearch].location == NSNotFound) {
NSLog(@"not matched");
}
else {
NSLog(@"matched");
}
答案 2 :(得分:0)
看看这个great NSHipster page about NSRange,它应该比Apple的文档更好地解释一下。
答案 3 :(得分:0)
NSString *string = @"red manual";
if([string rangeOfString:@"red ma"].location == NSNotFound)
{
NSLog(@"not found");
}
else
{
NSLog(@"found");
}