練習 - 使用 Remove() 和 Replace() 方法
在本練習中,您會使用 Remove()
方法來移除字串中的字元,並使用 Replace()
方法來取代字元。
但有時候,您會需要修改字串的內容,例如移除或取代字元。 雖然您可以使用已知的工具來取代字元,但這會需要一些暫時性的儲存,然後才能再將字串拼接回去。 幸運的是,string
資料類型有其他內建方法 (Remove()
及 Replace()
) 可以處理這些特殊案例。
使用 Remove()
方法
當您想要從字串中移除的字元有標準且一致位置時,通常會使用 Remove()
。
此練習的資料會儲存在具有固定長度的較舊檔案中,並針對特定資訊欄位配置字元位置。 其中前 5 個數字代表客戶識別碼。 後面的 20 個數字則會包含客戶名稱。 再接下來的 6 個位置代表客戶的最新發票金額,而最後 3 個位置代表該發票上訂購的項目數。
在下列步驟中,您會需要移除客戶的名稱來格式化資料,以便將資料傳送至個別處理序。 因為您知道使用者名稱的確切位置與長度,所以可以使用 Remove()
方法輕鬆地將其移除。
從字串中移除特定位置的字元
刪除或使用行註解運算子
//
,將上一個練習中的所有程式碼標記為註解。在 Visual Studio Code 編輯器更新您的程式碼,如下所示:
string data = "12345John Smith 5000 3 "; string updatedData = data.Remove(5, 20); Console.WriteLine(updatedData);
在 Visual Studio Code 的 [檔案] 功能表上,選取 [儲存]。
在建置或執行程式碼之前,必須先儲存 Program.cs 檔案。
在 [總管] 面板中,若要在 TestProject 資料夾位置開啟 [終端],請以滑鼠右鍵按一下 [TestProject],然後選取 [在整合式終端機中開啟]。
終端窗格應開啟,且應包含命令提示字元,顯示已對 TestProject 資料夾位置開啟終端。
在終端命令提示字元中,若要執行程式碼,請輸入 dotnet run,然後按 Enter 鍵。
您應該會看見下列輸出:
123455000 3
Remove()
方法與Substring()
方法相當類似。 您可以藉由提供起始位置與長度來從字串中移除這些字元。
使用 Replace()
方法
當您必須將一或多個字元取代為不同的字元 (或無字元) 時,可以使用 Replace()
方法。 Replace()
方法與您到目前為止所使用的其他方法不同,此方法會取代指定字元的每個執行個體,而非只有第一個或最後一個執行個體。
在字串中的任意位置移除字元
在 Visual Studio Code 編輯器更新您的程式碼,如下所示:
string message = "This--is--ex-amp-le--da-ta"; message = message.Replace("--", " "); message = message.Replace("-", ""); Console.WriteLine(message);
儲存您的程式碼檔案,然後使用 Visual Studio Code 來執行程式碼。
您應該會看見下列輸出:
This is example data
在這裡,您已使用
Replace()
方法兩次。 第一次,您將字串--
取代為空格。 第二次,您則將-
字串取代為空字串,而這個動作會完全移除字串中的字元。
概括回顧
以下為需記住的兩個重點:
Remove()
方法與Substring()
方法相當類似,不同之處在於其會刪除字串中的指定字元。Replace()
方法會將字串中的所有執行個體交換為新字串。