用LF C#替换字符串CRLF(前面有空格)

时间:2016-06-21 13:13:40

标签: c# string

我有一个这样的字符串:

string str="My name is John.  \r\nI am in Boston. \r\nI like the school here. "

问题是如何用\r\n(LF)替换这些\n(CRLF)。

看看在字符串的许多地方\ r \ n前面都有空格。 此外,末端或前方可能有空的空间。

我可以使用Regex或简单的替换功能吗?

3 个答案:

答案 0 :(得分:2)

替换换行符:

与@Thomas Ayoub的答案相同,如果您只是想用\r\n替换\n

string str = "My name is John.  \r\nI am in Boston. \r\nI like the school here. ";
var output = str.Replace("\r\n", "\n");

删除空格:

如果您要删除文字和\r\n字符之间的空格,请同时:

我建议用新线和修剪分割,然后再用新线连接。

像这样:

string str = "My name is John.  \r\nI am in Boston. \r\nI like the school here. ";
var strParts = str.Split("\r\n").Select(x => x.Trim()); // Split and trim
var newStr = strParts.Join("\n"); // Join back up again.

或者"单行":

var tidyString = str.Split("\r\n")
                    .Select(x => x.Trim())
                    .Join("\n");

输出应为:

  

"My name is John.\nI am in Boston.\nI like the school here."

希望这有帮助! :)

答案 1 :(得分:1)

您可以使用String.Replace()

string str = "My name is John.  \r\nI am in Boston. \r\nI like the school here. ";
var output = str.Replace("\r\n", "\n");

输出:

  

“我的名字是John。\ n我在波士顿。\ n我喜欢这里的学校。”

如果您要删除潜在/营业空间,请使用Trim()功能:

output = output.Trim();

输出:

  

“我的名字是John。\ n我在波士顿。\ n我喜欢这里的学校。”

答案 2 :(得分:0)

您可以使用正则表达式并执行以下操作:

 string str = "My name is John.  \r\nI am in Boston. \r\nI like the school here. ";
  Regex rgx = new Regex("\\s*\\r\\n");
  string result = rgx.Replace(str , "\\n");