110,538
社区成员
发帖
与我相关
我的任务
分享
Regex regex = new Regex(@"\([\s\S]*?\)");
var inputStr = "65CG(L1+L2+L3)L-(D1)/Q(H1)";
var arr = new int[] { 330, 150, 2200, 100, 30 };
int i = 0;
var result= regex.Replace(inputStr, m =>
{
var tmpArr = m.Value.Split('+').Select(r => 0).ToArray();
Array.Copy(arr, i, tmpArr, 0, tmpArr.Length);
i += tmpArr.Length;
return string.Join("+", tmpArr);
});
Console.WriteLine(result);
Regex regex = new Regex(@"\([\s\S]*?\)");
var inputStr = "(W1)W(L1)-Z(L2)";
var arr = new int[] { 1, 2, 3, 4 };
int i = -1;
var result= regex.Replace(inputStr, m =>
{
i++;
if (arr.Length > i)
{
return arr[i].ToString();
}
return m.Value;
});
Console.WriteLine(result);