2010-12-12 10 views
5

の一部を削除します。は、次のように私はNSStringのを持っているのNSString

<img alt="996453912" src="http://d2gg0uigdtw9zz.cloudfront.net/large/996453912.jpg" /><a href="http://www.dealcatcher.com/shop4tech-coupons">Shop4Tech Coupons</a> 

を私は(<a href部分の前に)最初の部分を必要とする、と私は2番目の部分を削除する方法を見つけ出すことはできません。

私はトンを試しましたが、うまくいきませんでした。

+2

どの方法を試しましたか? – Abizern

+0

私はComponentsseperatedbyを試してみて、他のものを探しましたが、他を探すことはできません。 –

答えて

18

使用のようなもの:

NSRange rangeOfSubstring = [string rangeOfString:@"<a href"]; 

if(rangeOfSubstring.location == NSNotFound) 
{ 
    // error condition — the text '<a href' wasn't in 'string' 
} 

// return only that portion of 'string' up to where '<a href' was found 
return [string substringToIndex:rangeOfSubstring.location]; 

ので、2つの関連する方法がsubstringToIndex:rangeOfString:です。

3

Finding Characters and SubstringsのNSStringクラスリファレンスには、いくつかの便利な方法が記載されています。

と文字列プログラミングガイドでは、私はこれらのリンクを指摘してshirtyされていないよSearching, Comparing and Sorting Strings.

上のセクションがあります。あなたは方法を見つけることができなかったと言ってきましたので、ここであなたが見える場所を知るのに役立つ参考資料がいくつかあります。ドキュメントを読む方法を学ぶことは、CocoaとCocoa-Touch Frameworkの使い方を学ぶことの一部です。

0

類似の質問への回答としてここに投稿されたもののこの修正版に類似したものを使用できます。https://stackoverflow.com/a/4886998/283412これにより、HTML文字列が取り出され、書式が取り除かれます。 while部分を修正して、ストリップする正規表現を削除してください:

-(void)myMethod 
{ 
    NSString* htmlStr = @"<some>html</string>"; 
    NSString* strWithoutFormatting = [self stringByStrippingHTML:htmlStr]; 
} 

-(NSString *)stringByStrippingHTML:(NSString*)str 
{ 
    NSRange r; 
    while ((r = [str rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound) 
    { 
    str = [str stringByReplacingCharactersInRange:r withString:@""]; 
    } 
    return str; 
} 
関連する問題