如何在C#中移除文本文件内的回车(enter)换行符?
C#移除文本文件中所有回车符号的实现方法
方案1:小文件直接全量读写(适配你的需求场景)
你的需求是处理分行的Hello、World!得到连续字符串,这个方案最简单直接,代码量最少:
首先需要引入命名空间:using System.IO;
核心实现代码:
// 读取源文件全部内容 string fileContent = File.ReadAllText(@"C:\你的源文件路径.txt"); // 移除所有回车\r和换行\n字符,兼容不同系统的行尾格式 string resultContent = fileContent.Replace("\r", string.Empty).Replace("\n", string.Empty); // 将处理后的内容写入文件,可覆盖原文件或指定新路径 File.WriteAllText(@"C:\输出文件路径.txt", resultContent);
- 该方案执行后,你文件里分行的
Hello和World!会直接合并为HelloWorld!,完全符合需求 - 适用于文件体积在10MB以下的场景,执行效率高
方案2:大文件逐行处理(内存占用更低)
如果处理的是上百MB的大文件,一次性读取全量内容会占用过多内存,可以用逐行读写的方式:
using (StreamReader sr = new StreamReader(@"C:\大文件源路径.txt")) using (StreamWriter sw = new StreamWriter(@"C:\大文件输出路径.txt")) { string currentLine; // ReadLine方法会自动丢弃行尾的\r、\n字符,无需额外替换 while ((currentLine = sr.ReadLine()) != null) { sw.Write(currentLine); } }
- 该方案内存占用始终维持在较低水平,适合超大文件处理
- 处理效果和方案1完全一致
注意:以上两个方案都只会移除回车、换行符,不会修改文本中的空格、制表符等其他内容,如果你需要同时清理其他空白字符,可以自行在替换逻辑中补充对应的规则。
内容的提问来源于stack exchange,提问作者user408415
相关产品推荐
相关产品推荐

