0

さまざまなソースから RSS フィードを取得しています。私が受け取っている RSS 出力には、さまざまな種類があります。XML パーサーを使用して、、、、タグを解析/取得して<item>います。<title><link><description>

各アイテムの説明値を取得した後、正規表現を使用して説明フィールドを解析し、画像リンク (存在する場合) とクリア テキストを取得しています。次の正規表現は、Yahoo/CNN フィードで機能します。

@"<p><a.+?><img src=\"(.+?)\".+?<\\/a>(.+?)<\\/p>" ;

しかし、まだ説明に残っている不要な文字がいくつかあります (上記の正規表現の 2 番目の一致)。

ここで、RSS の説明を評価し、「クリア テキスト」と「画像リンク」を取得するために別の正規表現を挿入する方法について、いくつかの提案を探しています。繰り返しますが、多くの正規表現を入れて、それぞれの成功を比較すると、パフォーマンスが低下します。

要約すると、ここには 2 つの問題があります。

  1. 異なる正規表現を作成し、それぞれを説明フィールドに適用し、成功を確認して出力を取得します (4 または 5 の正規表現を適用すると、パフォーマンスが低下します)。このステップでは、説明と画像のリンクを分離しようとしています。

  2. 上記の説明はまだ明確なテキストではなく、他の多くの余分な文字やタグを削除する必要があります. 余分な不要なものをすべて削除するには、ここで正規表現が必要です。すでにこれを行っている人は、この点で私を助けることができます.

4

1 に答える 1

0

不要な文字をすべてセットに入れて、必要な文字列をクリアすることができます..この機能を確認してください

- (NSString *) stripTags:(NSString *)str{
NSString *clearString;
NSCharacterSet *doNotWant;

doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"-=+[]{}:/?.><;,!@#$%^&*\n()\r'"];

clearString = [[str componentsSeparatedByCharactersInSet: doNotWant] componentsJoinedByString: @""];

return clearString;}

これが役立つことを願っています。

于 2012-02-15T09:02:49.913 に答える