110,532
社区成员
发帖
与我相关
我的任务
分享
string ss = "1=nan|2=nv|3=wu";
var aa = ss.Split('|').Select(s => string.Format("IIF(HHH={0},'{1}',{{0}})", s.Split('=')));
string b = "";
foreach (var a in aa)
{
if (b == "")
b = a;
else
b = string.Format(b, a);
}
Console.WriteLine(string.Format(b, "''"));
var dt = ss.Split('|').Reverse().Aggregate("''", (x, y) => string.Format("IIF(HHH={0},'{1}',", y.Split('=')) + x + ")");
Console.WriteLine(dt);
var st = new Stack<string>(ss.Split('|'));
var rs = "''";
while(st.Count > 0) rs = string.Format("IIF(HHH={0},'{1}',", st.Pop().Split('=')) + rs +")";
Console.WriteLine(rs);
匹配 "1=nan|2=nv|3=wu"这个格式的正则表达式:(?:\|?\w+=\w+)+ var c = "''";
var r = ss.Split('|').Reverse();
r.ToList().ForEach(s =>
{
c = Regex.Replace(s, @"(\w+)=(\w+)", string.Format("IIF(HHH=$1,'$2',{0})", c));
});
Console.WriteLine(c);