日期:2014-05-19  浏览次数:20859 次

再问一个关于字符串替换,跟正则有关!请高手来指导下
实在不好意思,又来问跟正则有关的问题了,都怪我上学的时候,编译原理学的太差,不能怪老师,那个老师其实还是很厉害的。

string   strTemp   =   "xxxxx{$tpl_var_ABC}xxxxx ";
string   tpl_var   =   "{$tpl_var_ABC} ";
string   value   =   "YYYY ";
strTemp   =   Regex.Replace(strTemp,   tpl_var,   value   );

大家看了上面的代码就明白我的意图了吧?
是的,我就想将字符串strTemp   的某个子字符串tpl_var用另外个字符串value代替。
问题出在哪呢,关键问题是tpl_var中含有非常规字符(用于正则的),所以不能替换成功。

高手肯定看出来了,实际上我是想做个网页模板。

请大家来帮个忙,帮我解决下这个问题。
依然不能给大家太多的分数,实在是抱歉,平时问的问题太多。
20分已经倾家当产了。



------解决方案--------------------
把需要转义的都转义了就行了

string tpl_var = @ "\{\$tpl_var_ABC\} ";
------解决方案--------------------
//何必用正则,直接替换不就成了
strTemp = strTemp.Replace(tpl_var, value);