mon besoin :
En entrée : un fichier, une expression régulière, le remplacement.
Je souhaite appliquer l'expression régulière au contenu entier du fichier.

1°/ solution, on lit le fichier ligne par ligne et on applique le remplacement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Regex myRegex = new Regex("^([a-z]+)([0-9]+)\t([0-9])+$");
string line ;
while ((line = sr.ReadLine()) != null)
{
     Console.Out.WriteLine(myRegex.Replace(line, "$1-------$2------$3"));
}
2°/ solution. Lire le fichier entiérement et appliquer l'expression régulière.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
string t = sr.ReadToEnd()
string result = myRegex.Replace( t, "$1-------$2------$3");
Cela ne marche pas !

Ne serait-il pas possible d'appliquer ce remplacement sans parcourir le fichier ligne par ligne.

Je me rappelles qu'en perl, on appliquait une regex à tout un flux en entréé.
ou même sur d'autres outils, c'est possible.

Merci de votre aide.