stringByReplacingOccurrencesOfString无法正常运行

时间:2015-01-25 13:57:32

标签: html ios objective-c string nsscanner

我创建了一个小应用程序,它将从网站获取html并将其转换为字符串。现在我想从该字符串中删除一些文本,但它不是删除该文本。这是我写的代码。

-(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 个答案:

答案 0 :(得分:1)

我自己不是Objective-C专家,但我想你需要将替换后的值分配给变量:

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

因此,一般来说,替换字符串并将结果保存在同一变量中的惯用方法是:

str = [str stringByReplacingOccurrencesOfString....];

这已经确认by the stringByReplacingOccurencesOfString doc,它声明此方法&#34;返回一个新字符串,其中接收器中所有出现的目标字符串都被另一个给定的字符串替换。&#34;。