首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 字串處理技巧:批次取代與依空白分割存入陣列 (第 3 部分)

     編輯:關於C語言

1. 批次取代特定子字串

使用 RichTextBox.Find 迴圈尋找並取代所有符合項目:

public int M_int_index = -1;
private int M_int_start, M_int_end;

M_int_index = 0;
while (M_int_index != -1)
{
    M_int_start = 0;
    M_int_end = richTextBox1.Text.Trim().Length;
    M_int_index = richTextBox1.Find(textBox1.Text.Trim(), M_int_start, M_int_end, RichTextBoxFinds.None);
    if (M_int_index == -1)
    {
        MessageBox.Show($"全部 '{textBox1.Text}' 已取代完畢。", "未找到", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    else
    {
        richTextBox1.SelectedText = textBox2.Text; // 取代為新字串
        M_int_index += textBox1.Text.Length; // 移至下一個搜尋位置
    }
}

2. 依空白字元分割字串並存入 ArrayList

string str = "abc def ghiklm opq";
string[] strArr = str.Split(' ');
ArrayList myList = new ArrayList();
foreach (string s in strArr)
    myList.Add(s);

listBox1.DataSource = myList; // 可透過索引存取,如 arr[1]="def"

現代寫法建議

  • 批次取代:string result = input.Replace("abc", "***"); (單行完成,效能更佳)。
  • 分割存入:List<string> list = str.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries).ToList(); 使用泛型集合。
  • ArrayList 為非泛型,需裝箱/拆箱,現代專案建議改用 List<T>。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved