在 C# 開發中,字符串操作是最基礎也是最頻繁的任務之一。本文整理了幾個實用的字符串處理技巧,涵蓋編碼轉換、分割、插入與截取等常見場景,幫助開發者快速解決實際問題。
有時需要在不同編碼之間轉換,例如將 GB2312 編碼的字符串轉為 ISO-8859-1 (Latin1)。
private string ConvertEncoding(string srcString)
{
// 將 GB2312 編碼的字符串轉為 ISO-8859-1
return Encoding.GetEncoding("iso-8859-1")
.GetString(Encoding.GetEncoding("gb2312").GetBytes(srcString));
}
說明:先用源編碼獲取字節數組,再用目標編碼解碼為字符串。實際項目中更常見的是 UTF-8 與 GB2312 互轉。
使用 Split 方法可按指定字符分割字符串。
string str = "1,2,3,4,5,6,7,8,9,10";
string[] arr = str.Split(',');
// 結果: ["1","2","3","4","5","6","7","8","9","10"]
若需分割多字符或使用正則,可改用 Regex.Split。
Insert 方法可在指定索引位置插入字符串(注意:原文拼寫為 Inert,正確為 Insert)。
string file = "abc.gif";
string result = file.Insert(file.LastIndexOf('.'), "_");
// 結果: "abc_.gif"
此技巧常用於給文件名添加後綴(如縮略圖標識)。
結合 LastIndexOf 與 Substring 可輕松獲取擴展名。
string fileName = "abcdefg123456.jpg";
string ext = fileName.Substring(fileName.LastIndexOf(".") + 1);
// 結果: "jpg"
更佳做法:使用 Path.GetExtension(需引用 System.IO),自動處理邊界情況:
string ext = Path.GetExtension(fileName).TrimStart('.');
掌握這些基礎操作,能大幅提升處理文本、路徑、編碼等場景的開發效率。建議平時多查閱 System.String 與 System.Text.Encoding 的官方文檔,發現更多實用方法。