stringByReplacingOccurrencesOfString 无法正常运行

stringByReplacingOccurrencesOfString not functioning correctly

我创建了一个小应用程序,可以从网站获取 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);




}

就像你在开头看到的那样,我尝试删除文本中的第一个标题,然后我扫描标题我仍然不断得到我删除的标题。我检查了日志,它没有删除。我不知道我做错了什么。对不起,如果这真的很容易。感谢您的帮助。

我自己不是 Objective-C 专家,但我想您需要将替换值赋值回变量:

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

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

str = [str stringByReplacingOccurrencesOfString....];

这已得到证实 by the stringByReplacingOccurencesOfString doc,其中指出此方法 "returns a new string in which all occurrences of a target string in the receiver are replaced by another given string."。