<分区>
Possible Duplicate:
Regex replacements inside a StringBuilder
在 StringBuilder 上多次执行正则表达式替换的最佳方法是什么?
如果您不介意成为tl;dr
人,请进一步阅读以获取详细信息:
您好,我有一个函数可以对字符串进行大量的字符串操作。很自然地,我为此使用了 StringBuilder 类。现在我进退两难。
我的函数是这样的:
ParsedText.Append("some footers here");
ParsedText.Replace("[b]","<b>"); //format all bold opens
ParsedText.Replace("[/b]","</b>"); //format all bold closes
ParsedText.Replace("\n","<br />"); //format newlines
.... sh!* load of other replaces and manipulations ...
//Add <a href> to all links
ParsedText = new StringBuilder(Regex.Replace(ParsedText, "pattern", "replacement"))
现在,我有一个..我想要替换的自定义单词(模式)列表 - 大约 20 种模式..
我正在尝试用各自的图像替换所有笑脸符号;像这样:
:) becomes <img src="smile.png" />
;) becomes <img src="wink.png" />
等等...我有大约 20 个图像/符号要替换,我正在使用这个正则表达式
(?<=^|\s):d(?=$|\s) //positive lookahead and lookback at :d
哪个Bob Vale请提供。
这一切都很棒,除了,我不知道如何用 StringBuilder 替换正则表达式,而且我不想像这样创建一个新的 StringBuilder:
ParsedText = new StringBuilder(Regex.Replace(...));
我认为它破坏了整个内存保护目的的 20 次。
那么,在 StringBuilder 上执行正则表达式替换的最佳方法是什么?
谢谢!