C#如何在一个textbox中查找指定的字符串

(类似txt中查找下一个的功能),找到第一个后再点一下可以查找下一个,(查找到的字符要选中);
顺便问下regex是什么方法,怎么使用

textBox1中是字符串例如“adsadasdasdnm”
textBox2中是要找的字符串例如“sa”
int index = 0;
private void button2_Click(object sender, EventArgs e)
{
index = textBox1.Text.IndexOf(textBox2.Text, index);
if (index < 0)
{
index = 0;
textBox1.SelectionStart = 0;
textBox1.SelectionLength = 0;
MessageBox.Show("已到结尾");
return;
}
textBox1.SelectionStart = index;
textBox1.SelectionLength = textBox2.Text.Length;
index = index + textBox2.Text.Length;
textBox1.Focus();
}追问

我想问下 index<0 是什么意思 - - 我刚找照那个打进去,查找是会查找的到,但是中间有几个字符串被跳过了 ,不是每一个都能搜索到,这是怎么回事

追答

把 index = index + textBox2.Text.Length这句改成 index = index + 1吧,
index<0就是没找到的时候,这时应该返回起点,所以让index=0了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-29
regex是正则表达式。网上应该有很多已经很好的表达式。你只需要动态替换其中的关键字就可以了
相似回答