我有一个 NSSting 结果内容,其中包含动态的 html 数据,并且 html 数据的长度总是根据用户输入而不同。
我可以通过替换 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 表(文本数据类型)中也有相同的 NSString 结果内容数据。在没有 Charindex 和 patindex 函数的情况下,如何在 Sqlite 中找到字符的索引或子字符串的位置。由于 html 代码是动态的,长度根据用户输入而变化,所以我需要知道每次用户输入后子字符串的索引或位置。