0

我有一个数据表在此处输入图像描述

我想用基于 cust_Id 的字符串替换所有 ESM 的 estm_suffix 值。我正在检索字符串

       for (int i=0; i < dtRefNos.Rows.Count; i++)
        {
            intCustId = int.Parse(dtRefNos.Rows[i]["cust_Id"].ToString());
            dsCustmr = custDCCls.FillCustDataSet(intCustId);
            string shrtName = dsCustmr.Tables[0].Rows[0]["cust_Sname"].ToString();
        }

现在我只想将 estm_suffix 中的 ESM 子字符串替换为 shrtName 作为 ESM/00001/12-13 到 shrtName/00001/12-13 并且必须返回数据表。请任何人帮助我。

4

2 回答 2

2

对于您的评论

每一行都有各自的 shrtNames

我不想替换 estm_sufffix 的所有值。我只想替换 ESM/00001/12-13 中的 ESM 子字符串

您可以简单地在循环中再添加一行以使用string.Replacefor替换estm_suffix值,例如:shrtName

for (int i=0; i < dtRefNos.Rows.Count; i++)
        {
            intCustId = int.Parse(dtRefNos.Rows[i]["cust_Id"].ToString());
            dsCustmr = custDCCls.FillCustDataSet(intCustId);
            string shrtName = dsCustmr.Tables[0].Rows[0]["cust_Sname"].ToString();
            //New Line
            dtRefNos.Rows[i]["estm_suffix"] = dtRefNos.Rows[i].Field<string>("estm_suffix")
                                          .Replace("ESM", shrtName);
        }
于 2013-02-18T05:00:37.860 回答
1

只需使用正则表达式。

using System.Text.RegularExpressions;

for (int i=0; i < dtRefNos.Rows.Count; i++)
{
    intCustId = int.Parse(dtRefNos.Rows[i]["cust_Id"].ToString());
    dsCustmr = custDCCls.FillCustDataSet(intCustId);
    string shrtName = dsCustmr.Tables[0].Rows[0]["cust_Sname"].ToString();
    string str = dtRefNos.Rows[i]["estm_suffix"].toString();
    str = Regex.Replace(str, "ESM", dtRefNos.Rows[i]["shrtName"].toString());
    dtRefNos.Rows[i]["estm_suffix"] = str;
}
于 2013-02-18T05:06:59.630 回答