C# 仅在行尾替换字符串

C# 仅在行尾替换字符串,c#,C#,我正在使用C#替换字符串中的文本,但当文本位于行尾时失败 string filepent = filehex.Replace(",,,,,\r\n", ",EMPTY,EMPTY,EMPTY,EMPTY,EMPTY"); 我正在将一个txt文件加载到文件流中,然后转换为字符串。我想替换一行末尾显示“,,,,,”的任意位置。目前,上面的代码只在文件末尾更改它。在一行的末尾,我的十六进制编辑器说应该更改它。。或0D 0A 谢谢我会尝试使用拆分文件,进行替换,然后将它们重新连接在一起。也许不是最出

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

string filepent = filehex.Replace(",,,,,\r\n", ",EMPTY,EMPTY,EMPTY,EMPTY,EMPTY"); 
我正在将一个txt文件加载到文件流中,然后转换为字符串。我想替换一行末尾显示“,,,,,”的任意位置。目前,上面的代码只在文件末尾更改它。在一行的末尾,我的十六进制编辑器说应该更改它。。或0D 0A


谢谢

我会尝试使用拆分文件,进行替换,然后将它们重新连接在一起。也许不是最出色的,但清楚地表达了你的目标。比如:

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))); 

C没有名为
string
的数据类型,C++的
std::string
没有成员函数
Replace()
。人们很难帮助你使用他们从未听说过的API!您是否可以编辑您的问题,以便在某种程度上澄清您正在使用的语言,以及我们正在讨论的
string
类型?看起来您正在将文件作为一行文本处理。解决方案:将文件按行数组拆分(或逐行读取),然后分别对每行应用replace函数。但我可能错了,我不是c#guy。我也不了解您的代码的实际功能,因此请谨慎使用我的注释。如果您正在将修改后的字符串写入文件,则无需手动加入,您可以使用
file.writeAllines()