2016-09-09 3 views
1

Wie kann ich das letzte Zeichen in jeder Zeile ersetzen?C# das letzte Zeichen in jeder Zeile ersetzen

Beispiel:

rtt45|20160706|N2413847|aneess kim|20160727| 
rtt45|20160706|N2247673|ram thomus|20160729| 
rtt45|20160706|N2373039|rohan kumar|20160721| 

ich versucht habe

string rr = "D:\\temp\\test_07272016020733.txt"; 
string lines = File.ReadAllText(rr); 
lines =lines.Replace("| \n", "\n"); 
+2

Sind Sie sicher, dass hinter dem | ? – BugFinder

+0

keine Leerzeichen sind da ich habe versucht mit Zeilen = Zeilen.Replace ("| \ n", "\ n"); funktioniert nicht –

+1

Wahrscheinlich der Grund dafür nicht zu arbeiten ist '' \ r'' Charakter. – dasblinkenlight

Antwort

2

Wie wäre es so etwas wie:

string rr = "D:\\temp\\test_07272016020733.txt"; 
string[] lines = File.ReadAllLines(rr); 
lines = lines.Select(x => x.TrimEnd('|')).ToArray(); 

EDIT: Wenn Sie das alles in einem einzigen String wollen mit beenden:

var text = string.join(Environment.NewLine, lines); 

Zur Vollständigkeit in einer einzigen Linie zu halten Variablennamen in Takt:

string rr = "D:\\temp\\test_07272016020733.txt";  
string lines = string.Join(Environment.NewLine, File.ReadLines(rr).Select(x => x.TrimEnd('|'))); 
1

lines = lines.Replace("| \n", "\n"); 

mit

lines = lines.Replace("|" + System.Environment.NewLine, System.Environment.NewLine); 

oder (equal) ersetzen

lines = lines.Replace("|\r\n", "\r\n"); 
Verwandte Themen