从字符串大字符串中提取数据(字符串)

时间:2010-12-02 16:08:06

标签: iphone objective-c

很久以前我不得不从字符串中提取数据,然后我用一个while循环遍历整个字符串char,通过char提取我需要的数据。效率不高但效果很好。

在我最新的应用程序中,我想尝试以优秀的工程师的方式来做。有没有办法在字符串中搜索表达式?还是子字符串?

例如,在字符串中的html中,有一行将包含团队名称。

<td width="25%"><span class="teamname">Blue Bombers</span></td>

我是否可以进行调用,找到“teamname”,然后从&gt;之间提取团队名称。 &LT;

我可以通过char将char最后10个字符保存到字符串,直到字符串等于“teamname”,然后继续直到我点击&gt;保存我得到的一切,直到我再次击中&lt;。但我认为那是采取简单低效的方式。

非常感谢 -code

2 个答案:

答案 0 :(得分:0)

您可以使用NSRange获取字符串“class”的范围,然后执行您的逻辑...它可能会减少字符搜索..

您的代码应如下所示,

if ([substring rangeOfString:@"class"].location != NSNotFound) {
    // "class" was found
else {
    // "class" was not found
}

答案 1 :(得分:0)

如果那是你感兴趣的字符串的唯一部分,那么只需通过-rangeOfString:找到一个像“teamname”这样的起点。如果出现多次,则使用-rageOfString重复调用:options:range:。

如果您需要更全面的解析,但是..

如果此字符串是实际的XHTML,那么您可以使用各种XML解析器之一,例如TouchXML,然后通过DOM查找找到你需要的东西。但是,如果(似乎很可能)它不是纯XHTML,那么这不太可能有所帮助。在这种情况下,您可以尝试在屏幕外的UIWebView中加载HTML并使用JavaScript调用来查找特定元素。

相关问题