我有一個這樣的字符串:替換字符串CRLF(在前面的空白空間)與LF C#
string str="My name is John. \r\nI am in Boston. \r\nI like the school here. "
問題是我怎麼可以只用\n
(LF)替換這些\r\n
(CRLF)。
看看在字符串的許多位置\ r \ n前面有空格。 另外,在末端或前面可能有空的空間。
我可以使用正則表達式還是簡單的替換函數?
我有一個這樣的字符串:替換字符串CRLF(在前面的空白空間)與LF C#
string str="My name is John. \r\nI am in Boston. \r\nI like the school here. "
問題是我怎麼可以只用\n
(LF)替換這些\r\n
(CRLF)。
看看在字符串的許多位置\ r \ n前面有空格。 另外,在末端或前面可能有空的空間。
我可以使用正則表達式還是簡單的替換函數?
您可以使用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");
輸出:
「我的名字是約翰\ NI是在波士頓\ NI喜歡這裏上學」
如果要刪除領先/空間空間,請使用Trim()
函數:
output = output.Trim();
輸出:
「我的名字是約翰。 \ n我在波士頓。 \ NI喜歡這裏的學校「
@GeoffJames你可以發佈你的答案而不是編輯 –
@asdf_enel_hak謝謝,完成! :) –
如何刪除空格@ Thomas Ayoub「我的名字是約翰。\ n我在波士頓。\ n我喜歡這裏的學校。」 –
您可以使用正則表達式,這和做這樣的事情:
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");
我可以在rgx中進行替換嗎?正則表達式rgx = new Regex(「\\ s * \\ r \\ n」); string result = rgx.Replace(str,「\\ n」); –
Thx。我將使用rgx之一。感謝大家在如此短的時間內回覆。 –
要更換新行:
同@Thomas阿尤布的回答,如果您只是想用\n
替換\r\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."
希望這HEL PS!:)
請參閱[system.environment.newline](https://msdn.microsoft.com/en-us/library/system.environment.newline(v = vs.110).aspx):*包含「\ r \ n「表示非Unix平臺*。你會取代什麼... –
謝謝@ThomasAyoub - 我已經更新了我的答案:) –
你有沒有嘗試過任何東西(正則表達式或簡單的替換)?你有沒有遇到任何問題? –
這兩個選項似乎都很容易嘗試,所以我建議您嘗試兩種方法,並在遇到特定問題時回來。 – fvu
是的,您可以同時使用正則表達式或簡單的替換功能。 – pijemcolu