我有一个文本框,用户在其中输入一些字符串。现在,我从主字符串中提取一个子字符串并将其显示到一个列表框中。从文本框添加子串到列表框
例如: 如果用户输入: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();
}
}
是的,它的工作。非常感谢。 :) –