2015-01-25 1 views
0

Я создал небольшое приложение, которое получит html с сайта и превратит его в строку. Теперь я хочу удалить текст из этой строки, но не удаляет этот текст. Вот мой код, который я написал.stringByReplacingOccurrencesOfString не работает правильно

-(void)dk { 
    NSString *myURLString = @"http://bountyboulevardss.eq.edu.au/?cat=3&feed=rss2"; 
    NSURL *myURL = [NSURL URLWithString:myURLString]; 

    NSError *error = nil; 
    NSString *myHTMLString = [NSString stringWithContentsOfURL:myURL encoding: NSUTF8StringEncoding error:&error]; 

    [myHTMLString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 


    if (error != nil) 
    { 
     NSLog(@"Error : %@", error); 
    } 
    else 
    { 

    } 

    [myHTMLString stringByReplacingOccurrencesOfString:@"<title>Bounty Boulevard &#187; &#187; Latest News</title>" withString:@""]; 

    NSString *newString = myHTMLString; 


    NSScanner *scanner = [NSScanner scannerWithString:newString]; 
    NSString *token = nil; 
    [scanner scanUpToString:@"<title>" intoString:NULL]; 
    [scanner scanUpToString:@"</title>" intoString:&token]; 

    headline.text = token; 

    NSLog(@"%@", myHTMLString); 




} 

Как вы видите, в начале я стараюсь, чтобы удалить первый титул в тексте, а затем я просматриваю за титул я до сих пор продолжаю получать титул я удален. Я проверил в журнале и не удалял. Я не знаю, что я делаю неправильно. Извините, если это очень просто. Спасибо за помощь.

ответ

1

Не эксперт Objective-C сам, но я думаю, вам нужно присвоить замененный значение обратно в переменную:

myHTMLString = [myHTMLString stringByReplacingOccurrencesOfString:@"<title>Bounty Boulevard &#187; &#187; Latest News</title>" withString:@""]; 

Таким образом, в общем идиоматических способ заменить строку и сохранение результата в та же переменная:

str = [str stringByReplacingOccurrencesOfString....]; 

Это подтверждается by the stringByReplacingOccurencesOfString doc в котором говорится, что этот метод «возвращает новую строку, в которой все вхождения искомой строки в приемнике заменены другой заданной строкой.».

+0

Вау, я не могу поверить, что пропустил это. Мне 12 лет, и утром 1:24 утра. Так что действительно устал. Ха-ха. Спасибо, что исправил меня. 3 минуты и я принимаю ваши ответы. –

+0

Рад, что помог. Я должен сказать, это довольно круто, когда вы начинаете программировать в таком молодом возрасте. Продолжай! – kamituel

+0

Спасибо! : D Спасибо за помощь. –