现有如下数据:
"鸡腿<br>2只<br>竹笋<br>1/4支<br>冬瓜<br>700g<br>姜<br>5片<br>葱<br>1支<br>A.米酒<br>30<br>水<br>1600<br>盐<br>15g<br>B.盐<br>5g<br>糖<br>5g<br>"我想匹配的是: 如果是基数的<br>替换为":" ,偶数的<br>替换为空
不知道怎么写,请指教。

解决方案 »

  1.   

                int i = 0;
                string str = "鸡腿<br>2只<br>竹笋<br>1/4支<br>冬瓜<br>700g<br>姜<br>5片<br>葱<br>1支<br>A.米酒<br>30<br>水<br>1600<br>盐<br>15g<br>B.盐<br>5g<br>糖<br>5g<br>";
                string result = Regex.Replace(str, "<br/?>", m => { i++; return i % 2 == 0 ? "" : "."; });
                Console.WriteLine(result);
    //鸡腿.2只竹笋.1/4支冬瓜.700g姜.5片葱.1支A.米酒.30水.1600盐.15gB.盐.5g糖.5g
      

  2.   

    首先你所说的基数偶数是什么的基数偶数,其次,如果好判断用Replace更简单吧。没必要用正则
      

  3.   

       string str = "鸡腿<br>2只<br>竹笋<br>1/4支<br>冬瓜<br>700g<br>姜<br>5片<br>葱<br>1支<br>A.米酒<br>30<br>水<br>1600<br>盐<br>15g<br>B.盐<br>5g<br>糖<br>5g<br>";
                str = Regex.Replace(str, @"(?is)(<br\s*/?>)(.*?)(<br\s*/?>)", ":$2");