0

これが私の問題です:

NSString オブジェクトから html タグを除外しようとしています。

これに対するほとんどの修正は、< と > の間にあるすべての文字とそれらの文字自体を削除するだけです。空白または改行文字が含まれていない場合にのみ、「< . . . >」部分文字列を削除する方法を見つけようとしています。

私が考えていた方法は次のようになります

while ([source rangeOfString@"someRegEx" options:NSRegularExpressionSearch].location != NSNotFound) {

//find the range of the substring
//check for newlines/whitespace characters
//replace occurrences of the string with "" if it doesn't have them

}

まず、これは良いアプローチのように思えますか? 第二に、私はその正規表現がどのように見えるかを理解するのに多くの問題を抱えています.それがどのように見えるかについて誰か考えがありますか?

4

2 に答える 2

0

m.buettner が指摘しているように、探しているタグに空白が実際に含まれていない場合、これは優れたアプローチのように思えます。正規表現は次のようになります。

<[^\s]*?>

[^\s]、空白文字以外に一致する否定文字クラスです。貪欲ではなく怠け者に?なります。*したがって、この英語の正規表現は、「「<」に一致し、次に空白以外の可能な限り少ない文字数に一致し、次に「>」に一致することを意味します。

これは役に立つページです。

于 2012-11-28T23:20:09.740 に答える
0

ここNSXMLParserで説明されている を使用することを検討する必要があるかもしれません。

文字列から好きなものを抽出するための非常に豊富なデリゲート メソッドのセットを取得します。

于 2012-11-28T23:20:58.420 に答える