110,571
社区成员
发帖
与我相关
我的任务
分享
var s = "PB(W)X(L)";
var u = new string[] { "100", "300" };
var i = 0;
var r = Regex.Replace(s, @"(?<=\()\w+", m => i < u.Length ? u[i++] : m.Value);
Console.WriteLine(r); //PB(100)X(300)
var source = "PB(W)X(L)M(X)";
var replace = new string[] { "100", "200"};
int lastIdx = 0;
for (int i = 0, j = replace.Length; i < j; i++)
{
var idxLeft = source.IndexOf("(", lastIdx);
var idxRight = source.IndexOf(")", idxLeft + 1);
if (idxLeft >= 0 && idxRight > 0)
{
lastIdx = idxLeft + 1;
source = source.Substring(0, idxLeft + 1) + replace[i] + source.Substring(idxRight);
}
else
{
break;
}
}
Console.WriteLine(source);
Console.Read();
("PB(W)X(L)").Replace("(W)","(100)")