怎么按格式取数据和替换
string temp = "milk(2 ml)";
temp = Regex.Replace(med, @"[^(\d+)]", ""); //temp = (2 ml)
int dosDefine = int.Parse(temp.Substring(temp.IndexOf("(") + 1).Replace(")" , ""));
int dosage = wt/unit * dosDefine; //数值运算
ret = Regex.Replace(med, @"[\d+?]", dosage.ToString()); //替换2ml中的2,比如dosage=4,那么ret=milk(4 ml)
自己感到方法很苯,而且如果temp=m5ilk(2 ml)的话,那第二行temp=5(2 ml)明显不对.
temp参数都是这样的格式:
milk(20 ml),medicine(3 ml),mil5k(500 ml),mil5k(500 cc)就是前面一个任意的字符串跟着(int数据 ml|cc).
请问怎么更好得用正则表达式来做到把milk(2 ml)的2取出并经过计算后再替换掉2?