У меня есть NSSting resultcontent, которое содержит html-данные, которые являются динамическими, а длина html-данных всегда различается в зависимости от ввода пользователя.
Я мог бы вставить свои html-данные в SQLite3, заменив "из NSString. Теперь проблема в том, что в SQlite3 нет встроенной функции для поиска позиции конкретной подстроки. В SQL вы можете использовать CHARINDEX или Patindex для этой цели. .
Сейчас я пытаюсь найти положение этой подстроки "сфинкс". Я попытался NSrange, substringWithRange и т. Д., Но я не получаю точные начальные и конечные позиции этой подстроки. Как вы показываете NSRange в консоли с помощью NSLog. Вот мой код
//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? Я также пробовал% S в NSLog, но безрезультатно.
У меня также есть те же данные результата NSString в таблице SQLite (тип данных text). Как найти индекс символа или позиции подстроки в Sqlite без функций Charindex и patindex. Поскольку HTML-код является динамическим, а длина изменяется в зависимости от пользовательского ввода, поэтому мне нужно знать индекс или позицию подстроки после каждого пользовательского ввода.