0

I am just starting to learn C# and I am trying to replace all occurrences of a certain substring in a text file with a \ if the text is not separated by whitespace or not . What is the easiest way to do this? Thanks.

Padraic Cunningham
  • 176,452
  • 29
  • 245
  • 321
  • 2
    Can you show an example of what the input and output could and should be, please? It's a little hard to understand what you mean from your question. – Ry- Apr 20 '13 at 15:55
  • take a look at: http://stackoverflow.com/questions/1915632/open-a-file-and-replace-strings-in-c-sharp – MUG4N Apr 20 '13 at 15:55
  • 1
    I learned programming using python and just started C# this week so to be honest I have not even gotten close to a correct solution. – Padraic Cunningham Apr 20 '13 at 15:56
  • @minitech I am trying to parse a txt file and change every occurrence of the sub string "BACKS" to an actual "\". – Padraic Cunningham Apr 20 '13 at 16:01

2 Answers2

10
  1. read in your file:

    var fileContents = System.IO.File.ReadAllText(@"C:\YourFile.txt");
    
  2. replace text:

    fileContents = fileContents.Replace("BACKS", "\\"); 
    
  3. write the file to filesystem:

    System.IO.File.WriteAllText(@"C:\YourFile.txt", fileContents);
    
MUG4N
  • 19,377
  • 11
  • 56
  • 83
1

if you wanna use Regex

Simple and single statement

File.WriteAllText("c:\\test.txt", Regex.Replace(File.ReadAllText("c:\\test.txt"), @"\bBACKS\b", "\\"));
Civa
  • 2,058
  • 2
  • 18
  • 30
  • Thanks Civa that worked well too. why do I need to use double \\ on path when using regex as opposed to single \ when using MUG4N'S method? – Padraic Cunningham Apr 20 '13 at 16:38
  • it's because of the @ sign in my code. See: http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c – MUG4N Apr 20 '13 at 16:59