Извлечь часть NSString

Мое приложение получает строку из RSS-канала для изображения предварительного просмотра. Он отображается в таком формате:

<p><a href="http://316apps.com/LakesideNews/wp-content/uploads/2012/05/144x1443.png"><img class="alignnone size-full wp-image-22" title="144x144" src="http://316apps.com/LakesideNews/wp-content/uploads/2012/05/144x1443.png" alt="" width="144" height="144" /></a></p>

hi

Я анализирую rss, используя GDATAXML и учебник из блога Рэя Вендерлиха. Я установил NSString на значение, указанное в RSS для изображения. Затем я настроил NSLog с этой строкой. NSLog возвращает то, что я указал в исходном сообщении. Есть ли способ подстроить его, чтобы получить только часть между " "?


person user717452    schedule 14.05.2012    source источник
comment
Как и предполагал NTTake, вам просто нужно проанализировать XML. Также кажется, что ваш канал имеет неправильный формат, ‹a href/› объявлен как одна строка, но у вас также есть закрывающая скобка. Так что он может не правильно разобрать   -  person CStreel    schedule 15.05.2012


Ответы (2)


используйте NSRange, но вам нужно будет определить начальную точку и длину (положение двух кавычек)

[untested code]

int idStart = 0;
int idEnd = 0;

for (int f = 0; f < [initialString length]; f++) {
    NSRange myRangeStart;
    myRangeStart.location = f;
    myRangeStart.length = 1;
    substr = [urlStr substringWithRange:myRangeStart];
    if ( idStart == 0) {
        if ([substr isEqualToString:@"\""]) {
            idStart = f;
        }
    } else {
        if ([substr isEqualToString:@"\""] && f > idStart) {
            idEnd = f;
        }
    }
}


NSString* substring = @"";
NSRange myRange;
myRange.location = idStart+1;
myRange.length = idEnd-idStart-1;
substring = [initialString substringWithRange:myRange];

[/untested code]
person ader    schedule 15.05.2012

Взгляните на NSXMLParser в документация. Вы должны иметь возможность использовать строку как NSData и анализировать ее с помощью этого объекта.

person Steve E    schedule 14.05.2012
comment
Я разбираю его с помощью GDATAXML и учебника из блога Рэя Вендерлиха. Я установил NSString на значение, указанное в RSS для изображения. Затем я настроил NSLog с этой строкой. NSLog возвращает то, что я указал в исходном сообщении. Есть ли способ подстроить его, чтобы получить только часть между ними? - person user717452; 15.05.2012
comment
Я понял, что это нужно было сказать, так как я УЖЕ разбираю XML, а не разбираю его. - person user717452; 15.05.2012