It depends exactly what you are trying to do: removing an absolute value (one that never changes) is trivial:
string Batches = ",,H104001002,H104001003,H104001004,H104001005";
string changed = Batched.Replace("H104001002", "");
will do it.
But...if string isn't "fixed" or can appear in other places in the data correctly, then that isn't a viable alternative. For example, usign that method on this:
string Batches = ",,H104001002,H104001003,H104001002,H104001005"
Would give you:
",,,H104001003,,H104001005"
There are a number of ways to do it: you could split the string, kill the "bad" location, and rebuild it:
string Batches = ",,H104001002,H104001003,H104001004,H104001005";
string[] parts = Batches.Split(',');
parts[2] = "";
string changed = string.Join(",", parts);
Or you could use a Regex:
string Batches = ",,H104001002,H104001003,H104001004,H104001005";
string changed = Regex.Replace(Batches, @"(?<=\,\,).+?(?=,)", "");
But...I'd suggest that you look at using an existing CSV parser:
A Fast CSV Reader[
^] is a good choice.