0

文字列をテストして、「hello」というテキストが含まれているかどうかを確認したいと思います。キャピタライゼーションを考慮しないテストを希望します。この文字列をテストするにはどうすればよいですか?

4

5 に答える 5

3

-[NSString rangeOfString: options:]それをします。

于 2011-04-24T17:26:19.460 に答える
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
    }
于 2011-04-24T17:49:27.650 に答える
1
NSRange range = [string rangeOfString:@"hello" options:NSCaseInsensitiveSearch];
BOOL notFound = range.location==NSNotFound;
于 2011-04-24T17:47:52.993 に答える
-1

すべての単語はスペースで区切られ、句読点はないと想定しています。句読点がある場合。

NSArray * dataArray = [inputString componentsSeparatedByString:@ ""];

for(int i=0; i<[dataArray count]){
 if([[dataArray objectAtIndex:i] isEqualToString:@"hello"]){
    NSLog(@"hello has been found!!!");
 } 
}

私はこれをテストしていませんが、理論的には機能するはずです。

句読点を削除し、文字列をすべて小文字にする方法については、ドキュメントを確認してください。これはかなり簡単なはずです。

于 2011-04-24T17:28:25.530 に答える
-2

ここにある他の解決策は良いですが、実際には正規表現を使用する必要があります。

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^(hello)*$"
                                                                   options:NSRegularExpressionCaseInsensitive
                                                                     error:&error];

ドキュメントはここにあります:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html

于 2011-04-24T17:30:03.303 に答える