在這項練習中,您將使用Remove()方法移除字串中的某些字元,並使用Replace()方法來取代字元。
有時候,您需要修改字串的內容、移除或取代字元。 雖然您可以使用您已經知道的工具取代字元,但這需要暫時存儲並重新組合字串。 幸運的是, string 數據類型有其他內建方法, Remove() 以及 Replace(),適用於這些特製化案例。
使用Remove()方法
當您要從字串移除之字元的標準和一致位置時, 通常會使用 Remove() 。
此練習的資料會儲存在具有固定長度的較舊檔案中,並針對特定資訊欄位配置字元位置。 前五個數位代表客戶標識碼。 接下來的20位數包含客戶的名稱。 接下來的六個位置代表客戶的最新發票金額,最後三個位置代表在該發票上訂購的項目數。
在下列步驟中,您必須移除客戶的名稱來格式化數據,以便將數據傳送至個別程式。 由於您知道使用者名稱的確切位置和長度,因此您可以使用 方法輕鬆地將其移除 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() 字串的所有實例交換為新的字串。