如何用\ n或空格替换形状为(□)
的方形字符,并使用c#在下一行写入?...正在写入文本文件中□...这是我的代码....
string line = dt.Rows[0].ItemArray[0].ToString().Replace(Environment.NewLine, "<br>");
和
if (line.IndexOf(line2, StringComparison.CurrentCultureIgnoreCase) != -1)
{
if (!patternwritten)
{
dest.WriteLine("");
dest.WriteLine("Pattern Name : " + line2 );
patternwritten = true;
}
dest.WriteLine("LineNo : " + counter.ToString() + " : " + "" + line.TrimStart());
}
但它正在用□编写整行。任何建议??
答案 0 :(得分:5)
我的猜测是你的字符串包含简单的换行符,而你的Environment.NewLine
值是“\ r \ n”。
应对此问题的一种简单方法是执行两次替换:
text = text.Replace("\r\n", "<br>")
.Replace("\n", "<br>")
要找到我们的确定正在发生的事情,您应该在二进制文件编辑器中打开您的文件,并查看文件中的二进制数据。我猜你会在二进制文件中找到一个由0x0A表示的字符。
答案 1 :(得分:1)
在我看来,你遇到了Unix换行问题。
尝试使用此方法:
public static string ConvertToWindowsNewlines(string value)
{
value = value.Replace("\r\n", "\n");
value = value.Replace("\n", "\r\n");
return value;
}
编辑:找到解决方案:http://dotnetperls.com/whitespace。
包含有关C#和char替换的更多提示。
答案 2 :(得分:0)
使用Trim()
而不是TrimStart()
,它会将其修剪掉