去掉[]中的英文(正则表达式)C#

这个问题本来是以为信息科技大学的老师问蒋委员长的问题,蒋委员长用正则表达式完成了这个问题
1,问题的情况有哪些?
  abc[abc]abc,abc[-abc]abc,abc[一abc]abc,abc[一abc一]abc等等.
2,问题的解决目标?
  写一个通用的方法来完成提出的问题.
3,解决方案
  -->正则表达式方法
其实我们并没有必要把问题想的太过复杂,我们只要考虑从左到右依次去除匹配到的英文字符就好了,问题简单明了了就.
下面给出我写的程式,如有不足请大侠指正.

private static string MyReplace(string str)
        {
            while (Regex.IsMatch(str, @"(\[[^\]]*?)[a-zA-Z]+([^\]]*\])"))
            {
                str = Regex.Replace(str, @"(\[[^\]]*?)[a-zA-Z]+([^\]]*\])", "$1$2");
            }
            return str;

        }

posted @ 2012-03-27 23:16  超Beyond越  阅读(644)  评论(0)    收藏  举报