利用正規表示式,去除字串中所有的換行以及所有的空白
沒啥技術性,就是寫完後備份以利日後快速參考,不用再開LAB測試。
我們常見的換行大概都是脫離不了這幾種組合「\r\n」、「\n\r」、「\n」、「\r」,其他的unicode怪字元不在考慮之內,這篇文章的程式碼將帶我們達成兩個效果:
- 把字串中所有的換行都消除掉。
- 把字串中所有的換行與換行前後的空白都消除掉。
程式碼如下:
var cOld = "1[ 2 ]3 \r \r\n \n \r \n \r\n \n\r 456";
Console.WriteLine($"原始字串:{cOld}");
var cNewNoLinebreaks = System.Text.RegularExpressions.Regex.Replace(cOld, "[\r\n]", String.Empty);
Console.WriteLine($"不含換行({cNewNoLinebreaks.Length}):{cNewNoLinebreaks}");
var cNewNoLinebreaksAndSpaces = string.Join("", System.Text.RegularExpressions.Regex.Split(cOld, @"(?:[\r\n])").Select(x => x.Trim()));
Console.WriteLine($"不含換行與空白({cNewNoLinebreaksAndSpaces.Length}):{cNewNoLinebreaksAndSpaces}");
執行結果:
原始字串:1[ 2 ]3
456
不含換行(20):1[ 2 ]3 456
不含換行與空白(10):1[ 2 ]3456