grazie per le dritte ... posto la soluzione del mio problema..

public static void ControlloPath (string path) {

string pathCorrect = @"path";
string pathJoin;
int controllo = 0;
StreamReader r = new StreamReader(path);
string line = r.ReadLine();
r.Close();

if (line.Contains("valore") && line.Contains("valore")) {

line = line.Substring(line.IndexOf("valore"), line.LastIndexOf("valore"));
string[] elenco = line.Split(';');

for (int i = 0; (i <= elenco.Length - 1 & elenco[i] != ""); i++) {

string c = elenco[i].Substring(0, elenco[i].LastIndexOf("\\")); // stringa path senza nome del pdf

if (String.Compare(pathCorrect, c) != 0) {

controllo = controllo + 1;
elenco[i] = (elenco[i].Replace(c, pathCorrect));

}
}

if (controllo != 0) {
pathJoin = String.Join(";", elenco); // path corretto. da sostituire nel file.

File.WriteAllText(path, File.ReadAllText(path).Replace(line, pathJoin));
}

}

}