.NET 6 C# 使用 Trim 去除特殊空白字元

客戶傳來一個 log 檔案,使用 VS Code 開啟後內容大致如下:


主要的問題就是在部分行起始的部分會有「空白字元」,導致資料讀取失敗,需要去除再做處理。

使用 VS Code 的 Hex Editor 套件開啟後如下:

16 進制 0D 0A 相當於 \r\n ,是用來換行,而後面的 00 則是本次遇到的「特殊字元」

使用 Trim 並不能去除 00 ,不過可以傳入要去除的字元達成:
    
string message = "\x00Hello, World!";

Console.WriteLine($"message: '{message}'");
Console.WriteLine($"message: '{message.Trim()}'"); // 沒有去除

char[] trimChars = new char[] { '\x00' };
Console.WriteLine($"message: '{message.Trim(trimChars)}'"); // 去除成功

/*
message: ' Hello, World!'
message: ' Hello, World!'
message: 'Hello, World!'
*/
    

留言