从字符串中删除unicode代码的最快方法

时间:2012-04-12 23:34:38

标签: c# .net regex html-parsing google-feed-api

您好我正在尝试找出从Google Feed API返回的结果中删除标记的方法。具体来说,他们在标题和说明内部放置粗体标签。

正在插入的代码如下:

\u003cb
\u003e
\u003c/b\u003e

由于它是一个固定的数量,我确实尝试为每个字符串中的每个代码执行一个String.Replace(),但这导致性能不佳而不出意外。我不确定RegEx会更好(或更糟)。有没有人知道如何删除这些? Google不提供从结果中删除代码的选项。

1 个答案:

答案 0 :(得分:3)

你可以使用像这样的正则表达式删除unicode代码:

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

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

至于性能,this article似乎表明正则表达式要慢得多,但我会用你自己的数据运行你自己的测试,因为它可能会有很大的不同。正则表达式本身将在性能中发挥重要作用,我不认为该文章陈述正在使用的正则表达式,因此无法进行比较。数据的大小和类型也将发挥重要作用,因此如果不了解您的数据,很难说哪个更好。

此外,您应该使用RegexOptions.Compiled标记compiling the regex来查看是否会提升效果。