日期:2014-05-17  浏览次数:20426 次

这个字符串应该如何截取?
比如一个字符串 string str7="<span title=XXXXXXXXX>30天40小时</span>",我想先截取"30天40小时",当然"30天40小时"这个数据也是动态的,是"XX天40小时"这样的形式,然后再截取"天"前面的"30"这个字符串,把"30"转为int类型,然后再让30加上一个int类型的数字b,最后这个"30+b"再回到"30天40小时"这个字符串,变成 string strABC="(30+b)天40小时",请问这个方法应该怎么写? 

------解决方案--------------------

<(span)[^>]*>(?<tian>\d+)天(?<tianxiaoshi>\d+)小时</\1>
//正则截取,读取时间。



------解决方案--------------------
string str7 = "-30天40小时";
                int addDays = 4;
                str7 = Regex.Replace(str7, @"-?\d+(?=天)", a => {
                    return (int.Parse(a.Value) + addDays).ToString();
                });
                //-26天40小时

------解决方案--------------------
高手不要鄙视,本人初学者:
 string str7= "<span title=XXXXXXXXX>30天40小时</span>";
 int day = 8;

 str7= Regex.Replace(str7, @"<span title=\w+>", "", RegexOptions.IgnoreCase);
 string tianshu = Regex.Replace(str7,@"天\w+</span>","",RegexOptions.IgnoreCase);
 string xiaoshi = Regex.Replace(str7, @"\w+天", "", RegexOptions.IgnoreCase).Replace("</span>","");

 int dsds= int.Parse(tianshu)+day;
 string result=dsds+"天"+xiaoshi;