文本文件中的换行符 (C#)
New line character in text file (C#)
我正在使用 System.IO.File.AppendAllText
将文本导出到 C# 中的文件,并传入文本文件,然后在末尾添加我要导出的文本 \n
。当我查看文本文档时,它们不在不同的行上,尽管行与行之间有讨厌的 return 行字符。所以系统可能认为它是两行,但用户认为它是一条。每次生成文件时,如何在不进行查找替换的情况下自动修复此问题?
System.IO.File.AppendAllText(@"./WarningsLog.txt", line + "\n");
您需要使用 Environment.NewLine
而不是 \n
,因为换行符可能不止于此。在 windows 中(如果我没记错的话),默认实际上是 \r\n
尽管使用 \r\n
会暂时帮助您,但使用 Environment.NewLine
才是正确的方法
首先,有a couple of ways代表新行。
最常用的是:
- unix方式——写
\n
字符。 \n
这里代表n换行符。
- windows方式——写出
\r\n
个字符。 \r
这里是回车 return 字符。
如果您正在编写与平台无关的内容,Environment.NewLine
会为您完成这项工作并选择正确的字符。
MSDN 声明它代表:
A string containing "\r\n" for non-Unix platforms, or a string containing "\n" for Unix platforms.
此外,在某些情况下,您可能希望使用 System.IO.File.AppendAllLines
,它采用 IEnumerable<string>
作为行集合并将其附加到文件。里面用的是Environment.NewLine
.
您可以尝试使用一些特定于文件的字符检查来构建它,例如
换行符、制表符等....
这是检查换行符和制表符的示例代码:
public static string Replace()
{
string rLower = words.ToLower().Replace(Environment.NewLine, "<replaced_newLine>");
rLower = rLower.Replace("\t", "<replaced_Tabulation>");
return rLower;
}
当然,您可能有很多不同的组合,其中需要更改的项目后跟“”或“\n”或“\r\n”或“\t”
我正在使用 System.IO.File.AppendAllText
将文本导出到 C# 中的文件,并传入文本文件,然后在末尾添加我要导出的文本 \n
。当我查看文本文档时,它们不在不同的行上,尽管行与行之间有讨厌的 return 行字符。所以系统可能认为它是两行,但用户认为它是一条。每次生成文件时,如何在不进行查找替换的情况下自动修复此问题?
System.IO.File.AppendAllText(@"./WarningsLog.txt", line + "\n");
您需要使用 Environment.NewLine
而不是 \n
,因为换行符可能不止于此。在 windows 中(如果我没记错的话),默认实际上是 \r\n
尽管使用 \r\n
会暂时帮助您,但使用 Environment.NewLine
才是正确的方法
首先,有a couple of ways代表新行。 最常用的是:
- unix方式——写
\n
字符。\n
这里代表n换行符。 - windows方式——写出
\r\n
个字符。\r
这里是回车 return 字符。
如果您正在编写与平台无关的内容,Environment.NewLine
会为您完成这项工作并选择正确的字符。
MSDN 声明它代表:
A string containing "\r\n" for non-Unix platforms, or a string containing "\n" for Unix platforms.
此外,在某些情况下,您可能希望使用 System.IO.File.AppendAllLines
,它采用 IEnumerable<string>
作为行集合并将其附加到文件。里面用的是Environment.NewLine
.
您可以尝试使用一些特定于文件的字符检查来构建它,例如 换行符、制表符等.... 这是检查换行符和制表符的示例代码:
public static string Replace()
{
string rLower = words.ToLower().Replace(Environment.NewLine, "<replaced_newLine>");
rLower = rLower.Replace("\t", "<replaced_Tabulation>");
return rLower;
}
当然,您可能有很多不同的组合,其中需要更改的项目后跟“”或“\n”或“\r\n”或“\t”