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 回答