求大神指导一正则表达式写法.....
现有如下数据:"鸡腿<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>替换为空
不知道怎么写,请指教。 --------------------编程问答--------------------
int i = 0;--------------------编程问答-------------------- 首先你所说的基数偶数是什么的基数偶数,其次,如果好判断用Replace更简单吧。没必要用正则 --------------------编程问答--------------------
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
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");
static class Program
{
static void Main()
{
string s = "鸡腿<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>";
s = RegEval.Replace(s);
Console.WriteLine(s);
Console.Read();
}
public class RegEval
{
public static string Replace(string s)
{
return Regex.Replace(s, @"<br>", new RegEval().MatchEvaluator);
}
int Index = 0;
string MatchEvaluator(Match match)
{
Index++;
if (Index % 2 == 0)
return " ";
else
return ":";
}
}
}
QQ:406485989 --------------------编程问答-------------------- 高手,学习了
补充:.NET技术 , C#