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