我想测试一个字符串,看看它是否包含文本“hello”。我希望测试不考虑资本化。我该如何测试这个字符串?
答案 0 :(得分:3)
答案 1 :(得分:3)
使用以下代码作为参考,以查找字符串中子字符串的检查。
NSString* string = @"How to test a string for text" ;
NSString* substring = @"string for" ;
NSRange textRange;
textRange =[string rangeOfString:substring options:NSCaseInsensitiveSearch];
if(textRange.location != NSNotFound)
{
//Does contain the substring
}
答案 2 :(得分:1)
NSRange range = [string rangeOfString:@"hello" options:NSCaseInsensitiveSearch];
BOOL notFound = range.location==NSNotFound;
答案 3 :(得分:-1)
我假设所有单词都用空格分隔,并且没有标点符号。如果有标点符号。
NSArray * dataArray = [inputString componentsSeparatedByString:@“”];
for(int i=0; i<[dataArray count]){
if([[dataArray objectAtIndex:i] isEqualToString:@"hello"]){
NSLog(@"hello has been found!!!");
}
}
我没有对此进行测试,但它应该在理论上有用。
查看文档以了解删除标点符号的方法并使字符串全部小写。这应该是非常简单的。
答案 4 :(得分:-2)
这里的其他解决方案都很好,但你应该使用正则表达式,
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^(hello)*$"
options:NSRegularExpressionCaseInsensitive
error:&error];