我有一个类似的字符串:
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");