NSLog NSRange问​​题

时间:2011-07-08 10:21:51

标签: sqlite console substring nslog nsrange

我有一个NSSting结果内容,其中包含动态的html数据,根据用户输入,html数据的长度总是不同的。

我可以通过替换“from NSString”在SQLite3中插入我的html数据。现在问题是SQlite3没有任何内置函数来查找特定子字符串的位置。在SQL中,您可以使用CHARINDEX或Patindex来实现此目的。

现在我试图找到这个子串“sphinx”的位置。我尝试了NSrange,substringWithRange等,但我没有得到这个子串的确切开始和结束位置。如何使用NSLog在控制台中显示NSRange。这是我的代码

   //find substring "sphinx"

NSError *error = NULL;

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"sphinx"

                                                                       options:NSRegularExpressionCaseInsensitive

                                                                         error:&error];

//Get total length of resultcontent (NSString which contains whole html code)

    NSInteger lengthTotal=[resultContent length];

NSLog(@"lengthTotal is %i", lengthTotal);


  // Get NSRange
  NSRange rangeOfSubstring = [regex rangeOfFirstMatchInString:resultContent 
                                                    options:0 
                                                      range:NSMakeRange(0, lengthTotal)];



NSString *substringData = [resultContent substringWithRange:rangeOfSubstring];


if (!NSEqualRanges(rangeOfSubstring, NSMakeRange(NSNotFound, 0))) 
{

    NSString *substringData = [resultContent substringWithRange:rangeOfSubstring];
          NSLog(@"substringData is %@", substringData);
  [b]  // so far it works fine and shows substringData ="sphinx"  in Console

    //But folowing line doesn't show start and end position of substringData "sphinx"

      NSLog([@"range of substring is =%@",[resultContent substringWithRange:rangeOfSubstring] ];[/b]
}

如何从NSString中找到子字符串的确切位置?我也在NSLog中尝试过%S但没有结果。

我在SQLite表(text数据类型)中也有相同的NSString resultcontent数据。如何在没有Charindex和patindex函数的情况下在Sqlite中找到子字符串或子字符串位置的索引。因为html代码是动态的,并且长度根据用户输入而变化所以我需要知道每个用户输入后子串的索引或位置。

0 个答案:

没有答案