これがCocoa + NSStringソリューション(動作+テスト済み)です。このようなカスタム パーサーを使用するときの唯一の本当の秘訣は、"終点" を見つける方法であることがわかります。実際、他の div が途中で開かれているため、単に "" まで進むことはできません。そのため、パーサーは探しているものが終わる前に停止します。はるかに複雑な XML パーサーを使用して、これを行う方法が他にないとは決して言いません。しかし、Web ページの解析はそれほど簡単ではなく、そのコードは常に完璧であるとは限りません...そして、これは単純で機能します (それでも、非同期ではない stringWithContentsOfURL: 以外の URL コンテンツを取得する方法を検討する必要があります):
NSString *originalString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.makepartsfast.com/2012/09/4337/more-3d-printing-in-metals-ex-one-introduces-the-m-flex-3d-printing-system/"] encoding:NSUTF8StringEncoding error:nil];
NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSString *extractedString = nil;
[scanner scanUpToString:@"<div id=\"content\">" intoString:nil];
[scanner scanString:@"<div id=\"content\">" intoString:nil];
[scanner scanUpToString:@"<div style=\"clear:both;\">" intoString:&extractedString];
if (extractedString)
{
// string was extracted
NSLog(@"%@", extractedString);
}