这个问题本来是以为信息科技大学的老师问蒋委员长的问题,蒋委员长用正则表达式完成了这个问题
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;}