3

こんにちは、Google Feed API から返された結果からタグを削除する方法を見つけようとしています。具体的には、タイトルと説明内に太字のタグを配置しています。

挿入されるコードは次のとおりです。

\u003cb
\u003e
\u003c/b\u003e

固定量なので、文字列ごとにこれらのコードごとに String.Replace() を実行しようとしましたが、驚くほどパフォーマンスが低下しました。RegEx の方が優れている (または劣っている) かどうかはわかりません。これらを削除する方法を知っている人はいますか? Google は、結果からタグを削除するオプションを提供していません。

4

1 に答える 1

3

次のような正規表現を使用して、Unicode コードを削除できます。

\\u[\d\w]{4}

var subject = @"\u003cb\u003e\u003c/b\u003e";
var result = Regex.Replace(subject, @"\\u[\d\w]{4}", String.Empty);

パフォーマンスに関しては、この記事は正規表現がはるかに遅いことを示唆しているようですが、大幅に異なる可能性があるため、独自のデータで独自のテストを実行します。正規表現自体がパフォーマンスに大きな役割を果たしますが、その記事には正規表現が使用されているものは記載されていないため、比較することはできません。データのサイズとタイプも大きな役割を果たすため、データを理解せずにどちらが優れているかを判断することは困難です。

また、フラグを使用して正規表現をコンパイルして、RegexOptions.Compiledパフォーマンスが向上するかどうかを確認する必要があります。

于 2012-04-12T23:51:32.410 に答える