0

私はデータテーブルを持っていますここに画像の説明を入力

estm_suffix 値のすべての ESM を、cust_Id に基づく文字列に置き換えたいと考えています。文字列を次のように取得しています

       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.Replaceを使用して値forを置き換えるために、ループにもう 1 行追加するだけです。estm_suffixshrtName

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 に答える