C# 字串操作方法

C#中字串相關方法


C# 字串處理

字串修剪(Trim)

移除字串首尾的空白字符。

1
2
string fullName = "Mosh Hamedani ";
string trimmedName = fullName.Trim();

轉換大寫(ToUpper)

將字串轉換為大寫。

1
string upperName = fullName.ToUpper();

字串分割(Split)

將字串依指定字符分割成數個子字串。

1
string[] names = fullName.Split(' ');

字串替換(Replace)

替換字串中的特定字符或子字串。

1
string replacedName = fullName.Replace("Mosh", "Moshfegh");

檢查空白或空值(IsNullOrWhiteSpace)

檢查字串是否為 null、空字串或僅包含空白字符。

1
bool isNullOrEmpty = string.IsNullOrWhiteSpace(fullName);

數字與字串轉換

字串轉數字(Convert.ToInt32、byte.Parse)

將字串轉換為整數。

1
2
int age = Convert.ToInt32("25");
byte ageByte = byte.Parse("25");

數字轉字串(ToString)

將數字轉換為字串,支持格式化。

1
2
double price = 29.95;
string priceString = price.ToString("C0");

C# 中的 StringBuilder

在 C# 的世界裡,string 類別的不可變特性是眾所周知的:一旦創建了一個字串物件,你就無法改變其內容。這種特性在處理大量字串操作時可能會導致效能問題。這時候,StringBuilder 就派上了用場。

為何選擇 StringBuilder

StringBuilder 是在 System.Text 命名空間下定義的一個類別,它代表一個可變的字串。使用 StringBuilder 可以輕鬆且快速地創建和修改字串,而不需要擔心不可變字串所帶來的效能問題。

StringBuilder 的特點

  • 可變性:與 string 不同,StringBuilder 允許你在不創建新實例的情況下修改字串內容。
  • 非優化搜尋StringBuilder 沒有搜尋操作(如 IndexOfLastIndexOfContains 等)進行優化。
  • 字串操作方法StringBuilder 提供了一系列實用的方法來操作字串,例如 AppendInsertRemoveReplaceClear 等。

StringBuilder 實例

以下是使用 StringBuilder 的一些示例:

創建和追加字串

1
2
3
StringBuilder sb = new StringBuilder();
sb.Append("Hello, ");
sb.Append("world!");

插入字串

1
sb.Insert(7, "C# ");

移除字串片段

1
sb.Remove(5, 7);

替換字串內容

1
sb.Replace("world", "StringBuilder");

清空 StringBuilder 內容

1
sb.Clear();

StringBuilder 是處理大量字串操作時的一個強大工具。它讓字串的創建和修改變得既容易又高效,尤其適合在需要頻繁修改字串內容的場景中使用。

請記住,雖然 StringBuilder 在某些情境下提供了顯著的效能優勢,但它並不適合所有情況。特別是當涉及到需要頻繁進行字串搜尋操作時,傳統的 string 類別可能是更好的選擇。