我有一個文本框,用戶在其中輸入一些字符串。現在,我從主字符串中提取一個子字符串並將其顯示到一個列表框中。從文本框添加子串到列表框
例如: 如果用戶輸入:SELECT A1,A2,A3 FROM TABLE1 然後我需要A1,A2和A3作爲我的列表框的單獨項目。
我可以很容易地做到這一點,但是有一個小問題正在發生。
只要用戶輸入單詞「FROM」,值就會被添加到列表框中,並且如果用戶在「FROM」(甚至空格)之後鍵入任何內容,則會再次添加值。
我只需要這些值一次。我錯過了什麼?請幫助每個字符
private void textBox1_TextChanged(object sender, EventArgs e)
{
string substr;
string str = textBox1.Text.ToString();
Match m = Regex.Match(str, @"(?<=.\s+).+?(?=\s+from)", RegexOptions.IgnoreCase);
try
{
if (m.Success)
{
substr = m.Value;
string[] sub = substr.Split(',');
foreach (string x in sub)
{
listBox1.Items.Add(x);
}
}
finally
{
listBox1.EndUpdate();
}
}
是的,它的工作。非常感謝。 :) –