我正在创建一个简单的FeedReader iPhone应用程序,其中RSS是使用NSXMLParser解析RSS。解析RSS的代码是类似于here所示的标准代码。
但是我注意到每个解析过的元素最后都有'\ n \ t \ t'个字符。 实施例
link = "http://bakery.cakephp.org/articles/view/exporting-data-to-csv-the-cakephp-way\n\t\t\t";
date = "Fri, 23 Apr 2010 10:02:55 -0500\n\t\t\t";
因此,我无法使用该链接将其提供给NSWebView,并且它具有非法字符。即使我使用像
这样的东西NSString *storyURL = [NSString stringWithFormat:@"%@", self.selectedURL];
NSString *webURL = [storyURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
网址无效。实施例
http://bakery.cakephp.org/articles/view/creating-pdf-files-with-cakephp-and-tcpdf%0A%09%09%09
显然会出现404错误。
有没有什么办法可以在每个解析后的字符串末尾删除那些额外的字符?
感谢。
答案 0 :(得分:0)
那些是control characters。在您的示例中,有一个换行符,然后是三个选项卡,可能用于缩进。要剥离它们,您可以使用NSString
和NSArray
中的几种方法。
//This breaks the given string apart at the control characters
//This will find all of the control characters in the string
NSArray *brokenStrings = [dirtyString componentsSeparatedByCharactersInSet:[NSCharacterSet controlCharacterSet]];
//Now join them back together
NSString *cleanString = [brokenStrings componentsJoinedByString:@""];
当componentsSeparatedByCharactersInSet:
遇到其中一个控制字符时,它会在数组中用空字符串表示。