I'm going to answer this a little more elaborately than your scenario ... "All the columns in each DataTable are strings" ... requires, in the hope it will be useful to others.
Suppose only certain columns are Type String: select all Columns of Type String:
IEnumerable<DataColumn> stringcolumns = table.Columns.Cast<DataColumn>().Where((DataColumn clm) => clm.DataType == typeof(string));
You already know how to loop through all the rows, then loop though all the columns in each row.
So, in the innermost loop, you can change or remove whatever:
string value = row[col].ToString();
if (value.Contains('|'))
{
row.SetField(col, value.Replace("|", string.Empty));
}