如何用新线替换空格。我的文本文件如下:
1 2 3 4 5 6
但我希望myString看起来像:
1
2
3
4
代码:
StreamReader myReader = new StreamReader("TextFile1.txt");
string myString = myReader.ReadLine();
myString = myString.Replace(' ', '\n');
在当前状态下,它只在空格上添加\n
。
答案 0 :(得分:2)
使用:
myString = String.Join(Environment.NewLine,
myString.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
这将根据空格拆分字符串,然后使用Environment.NewLine
加入它们。因此,在多个空格的情况下,只会出现一个新行。
答案 1 :(得分:0)
您可以使用Environment.NewLine:
myString = myString.Replace(' ', Environment.NewLine);
这是一个独立于平台的线路替换。不要使用' \ n'。
Environment.NewLine基本上输出" \ r \ n"对于非Unix平台,以及" \ n"对于Unix平台。您不在Unix平台上,因此输出不正确。
如果将来使用\ n和/或\ r \ n \,您将遇到许多奇怪的问题。最好只使用Environment.NewLine。这适用于MessageBox.Show()对话框,StreamWriter,StreamReader等。
您可以将代码移植到任何位置,而如果您要使用\ n或\ r \ n,则您将被限制在支持它的平台上。
答案 2 :(得分:-2)
使用正则表达式用新行替换每个空格。
using System;
using System.Text.RegularExpressions;
public class Program {
public static void Main() {
var input = "1 2 3 4 5 6";
Console.WriteLine("input:");
Console.WriteLine(input);
var output = Regex.Replace(input, " ", "\n");
Console.WriteLine("output:");
Console.WriteLine(output);
}
}