仅在行尾替换字符串

时间:2012-07-22 13:04:52

标签: c#

我在字符串中使用C#替换文本但在文本位于行尾时失败。

string filepent = filehex.Replace(",,,,,\r\n", ",EMPTY,EMPTY,EMPTY,EMPTY,EMPTY"); 

我正在将txt文件加载到文件流中,然后转换为字符串。我想在一行的末尾替换它所说的“,,,,,”。目前上面的代码只在文件末尾更改它。在应该更改它的行的末尾,我的十六进制编辑器说有..或0D 0A

由于

1 个答案:

答案 0 :(得分:0)

我很想转而使用File.ReadAllLines分割文件,进行替换,然后再将它们连接起来。也许不是最高效的,但明确表达了你的目标。类似的东西:

string matchPattern = ",,,,,$"; // $ to match the end of the line.
string replacement = ",EMPTY,EMPTY,EMPTY,EMPTY,EMPTY";
string filepent = String.Join(
    Environment.NewLine, // or maybe just "\r\n"
    File.ReadAllLines(yourFilePath)
        .Select(line => Regex.Replace(line, matchPattern, replacement)));