0

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

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

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

谢谢

4

1 回答 1

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))); 
于 2012-07-22T13:51:37.963 回答