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

3

你好,我正在尝试找到一种方法,从Google Feed API返回的结果中移除标签。具体来说,它们在标题和描述内部放置了加粗标签。

插入的代码如下:

\u003cb
\u003e
\u003c/b\u003e

自从这些代码是固定数量的,我尝试对每个字符串进行 String.Replace() 操作,但结果很糟糕,性能表现不佳。我不确定是否使用 RegEx 会更好(或更差)。有人知道如何删除它们吗?谷歌没有提供从结果中删除标签的选项。
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 标志编译正则表达式,以查看是否可以提高性能。

抱歉我表达不够清晰。实际上我根本不想要这些标签。我在寻找一种性能友好的方法来移除它们。我所针对的设备会自动转换它们,这也是我发现它们是加粗标签的原因。 - Edward
@loyalpenguin 我现在明白了。我已经为你更新(重新编写)了答案。 - Robbie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接