如何测试字符串的文本

时间:2011-04-24 17:23:53

标签: iphone xcode nsstring string-comparison text-comparison

我想测试一个字符串,看看它是否包含文本“hello”。我希望测试不考虑资本化。我该如何测试这个字符串?

5 个答案:

答案 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];

文档在这里:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html