日期:2014-05-17  浏览次数:20776 次

Replace [] 问题
_msg = "[face12.jpg]";
_msg = Regex.Replace(_msg, @"[face(.*?).(gif|jpg|png|bmp)]", "");
_msg = Regex.Replace(_msg, @"[image(.*?).(gif|jpg|png|bmp)]", "");
_msg = Regex.Replace(_msg, @"[customface(.*?).(gif|jpg|png|bmp)]", "");

为什么这样过滤后  还剩下  [12] 呢?
Replace?

------解决方案--------------------
注意字符转义 像[ ] .这些使用\来取消这些字符的特殊意义
 string _msg = "[face12.jpg]";
            _msg = Regex.Replace(_msg, @"\[face(.*?)\.(gif
------解决方案--------------------
jpg
------解决方案--------------------
png
------解决方案--------------------
bmp)\]", "");
            _msg = Regex.Replace(_msg, @"\[image(.*?)\.(gif
------解决方案--------------------
jpg
------解决方案--------------------
png
------解决方案--------------------
bmp)\]", "");
            _msg = Regex.Replace(_msg, @"\[customface(\.*?).(gif
------解决方案--------------------
jpg
------解决方案--------------------
png
------解决方案--------------------
bmp)\]", "");