我有DataTable
检索多个列和行。其中一列(“评论”)包含数据*
。我想用\n
替换该字符。
dtOutput = Generix.getTickets(DateTime.Parse("1-1-1900"), DateTime.Now,"",iTicket, "", "", "", "","",iDispatched,uCode);
string sOutput = "";
foreach (DataRow drOutput in dtOutput.Rows)
{
sOutput += ((sOutput == "") ? "" : "~");
foreach (DataColumn dcOutput in dtOutput.Columns)
{
sOutput += ((sOutput == "") ? "" : "|") + Convert.ToString(drOutput[dcOutput]);
}
}
我能够合并一个String中的所有列。
但是如何将字符替换为另一个字符存储在"sOutput"
的相同字符串中。
答案 0 :(得分:3)
foreach (DataRow row in dt.Rows)
row.SetField<string>("Comment",
row.Field<string>("Comment").Replace("*", @"\n"));
答案 1 :(得分:2)
在foreach循环中,您可以通过访问列索引(“Comments”)来修改行,并使用string.Replace将"*"
替换为"\n"
foreach (DataRow drOutput in dtOutput.Rows)
{
drOutput["Comments"] = drOutPut["Comments"].ToString().Replace('*','\n');
//your remaining code
}
答案 2 :(得分:1)
foreach (DataColumn dcOutput in dtOutput.Columns)
{
sOutput += ((sOutput == "") ? "" : "|") + Convert.ToString((dcOutput.ColumnName=="Comments") ? drOutput[dcOutput].ToString().Replace("*","\n") : drOutput[dcOutput]);
}