我有以下代码:
foreach (DataRow row in table.Rows)
{
//cell cannot contain any of the following characters: :\/?*[]'
}
我之前不知道该列的名称,或者我可以做类似的事情:
if (row["Name"].ToString() == "SomeName").
我想做的是,如果任何单元格包含任何字符:/?* []',我想用一个空字符串替换它。
答案 0 :(得分:1)
您可以尝试:
foreach (DataRow row in table.Rows)
{
// Loop through the cell values
foreach (object item in row.ItemArray)
{
// Get the cell value
string cellValue = item.ToString();
// Remove unwanted characters
cellValue = cellValue.Replace(":","");
cellValue = cellValue.Replace("/","");
cellValue = cellValue.Replace("?","");
cellValue = cellValue.Replace("*","");
cellValue = cellValue.Replace("[","");
cellValue = cellValue.Replace("]","");
cellValue = cellValue.Replace("'","");
{
}
这可能不是最好的方法,但是如果您赶时间的话应该可以使用
答案 1 :(得分:0)
您可以尝试将Regex.Replace
与:|\\/|\\?|\\*|\\[|\\]|'"
一起使用,以将字符替换为空字符串。
Regex regex = new Regex(":|\\/|\\?|\\*|\\[|\\]|'");
foreach (DataRow row in table.Rows)
{
foreach (object item in row.ItemArray)
{
var result = regex.Replace(item.ToString(), string.Empty);
}
}
Regex regex = new Regex(":|\\/|\\?|\\*|\\[|\\]|'");
var result = regex.Replace("2:76000?0178'12?0[0]8", string.Empty);
结果
276000017812008