У меня есть приложение Obj-c, которое работает; теперь это не так. Это часть строки, которую я пытаюсь разобрать:Почему NSScanner не находит первое вхождение целевой строки?
< DIV класс = "PostContent"> < DIV класс = "Статья"> < DIV класс = "Сообщение"> < DIV класс = "PostContent "> < div> < img style =" background-image: url ('http://cdn.openisbn.com/images/no_book_cover.jpg'); border: solid 1px # 383c40; "src =/cover/0345377443_220.jpg width = 220 border = 0 title =" Women Who Run With The Wolves: Myths And Stories of the Wild Woman Archetype "> </div> Авторы: < a href ="/author/Clarissa_Pinkola_Estes/"> Clarissa_Pinkola_Estes /"> Clarissa_Pinkola_Estes/"> Clarissa_Pinkola_Estes /"> Clarissa_Pinkola_Estes/"> Clarissa_Pinkola_Estes /"> Clarissa_Pinkola_Estes/">/Ballantine_Books/"> Ballantine Boo кс </а>
Несколько тысяч символов позже, этот текст появляется:
< DIV класс = "блок" ID = "LayoutColumn_3"> < DIV класс = "blockTop"> </дел > < h2 </h2> < div align = "center"> < a href = "/ isbn/006251380X /"> < img style = "padding: 1px; border: 1px solid # 6c6c6c; background-image: url ('http://cdn.openisbn.com/images/no_book_cover.jpg'); "src =/cover/006251380X_72.jpg width = 72 height = 114 border = 0 title =" Верный садовник: мудрая сказка о том, что никогда не умереть "> </a > < BR> < a href = "/ isbn/006251380X /"> Верный садовник: мудрая сказка о том, что не умеет умереть </a> < BR> < a href = "/ isbn/1604076356 /"> < img style = "padding: 1px; border: 1px solid # 6c6c6c; Фоновое изображение: URL («http://cdn.openisbn.com/images/no_book_cover.jpg»);»
Это мой код, чтобы найти название:
[scanner setScanLocation:0];
[scanner setCaseSensitive:NO];
[scanner scanUpToString:@" border=0 title=\"" intoString:nil]; // title
scanner.scanLocation += 17;
[scanner scanUpToString:@"\">" intoString:&tempString];
oTitle.text = tempString;
То, что происходит это пропускает первое вхождение (Женщины, которые управляют ..) целевой строки и находит второе вхождение (T он Верный Гарднер) и возвращает его, а не первый. Поскольку это использовалось для работы, и я не изменил код, может кто-то сказать мне, почему это не работает и, возможно, предлагает некоторые изменения в коде, чтобы заставить его работать снова? Я бы очень признателен Это!
@rob no, я проверил еще раз, и между * border * и * title не существует двух пробелов, но спасибо за комментарии.Я прочитаю учебник Рэя и посмотрю, легко ли он подходит. : D – SpokaneDude
@Rob, пожалуйста, повторите свой комментарий о двойных пробелах; это была проблема! Я хотел бы дать вам баллы за комментарий. SD – SpokaneDude