我有一个这样的字符串:
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或简单的替换功能吗?
答案 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");