源字符串: <DIV><IMG src="img\中\170.jpg"></DIV>   注: src="..." 内容是可变的用正则表达式如何处理成:
   <DIV><IMG src="NEWSTRING/img/中/170.jpg"></DIV>
在源串 src="..." 中 将 \ 串 改成 / 串 , 然后在 img 串前 添加一新串 NEWSTRING/

解决方案 »

  1.   

    用正则表达式很难,用replace就简单了
      

  2.   

    是的,用replace是个简单的办法.
    str.replace("\\","/")
    str.replace("src="","src=""NEWSTRING")
    刚才光求散分了。不好意思,猫扑逛多了。。
      

  3.   

    因为我的是HTML 串,所以用replace有缺陷,会把不必要的串也给替换了我要求处理的只是在<IMG src=""> 框起来的内容,
    <IMG src="img\中\170.jpg">
      

  4.   

                string str="<DIV><IMG src=\"img\\中\\170.jpg\"></DIV>";
                string str1 = str.Replace("\\", "/");
                string str2 = str1.Replace("src=\"", "src=\"NEWSTRING/");
                Console.Write(str2);已经测试通过,输出为<DIV><IMG src="NEWSTRING/img/中/170.jpg"></DIV>
      

  5.   

    Regex reg = new Regex(@"(?is)(?<=<img\s+src=(['""]?))(?!http://)(?=[^'""\s>]+\1)");
    string result = reg.Replace("", "");
      

  6.   

    (?is)(?<=<div.+?<img.+?src=(['"]))((?!\1).)+
      

  7.   

    string result = Regex.Replace(@"<DIV><IMG src=""img\中\170.jpg""></DIV>", @"(?is)(?<=<div.+?<img.+?src=(['""]))((?!\1).)+", delegate(Match m)
    {
        return m.Value.Replace("\\", "/");
    });
    Console.WriteLine(result);