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



我有一个类似的字符串:

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

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

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

我可以使用Regex还是简单替换功能?

替换新线:

与@thomas Ayoub的答案相同,如果您只是想用n替换rn

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

要删除空格:

如果您想在文本和rn字符之间删除空格,也:

我建议通过新行和修剪分开,然后再次加入新线路。

这样:

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

或"单线":

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

输出应为:

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

希望这会有所帮助!:)

您可以使用string.replace():

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

输出:

"我叫约翰。 ni Am在波士顿。 ni喜欢这里的学校。


如果要删除领先/传播空间,请使用Trim()功能:

output = output.Trim();

输出:

"我叫约翰。 ni Am在波士顿。 ni喜欢这里的学校。

您可以为此使用正则表达式并执行类似的操作:

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

最新更新