C#如何在一个textbox中查找指定的字符串
(类似txt中查找下一个的功能),找到第一个后再点一下可以查找下一个,(查找到的字符要选中);顺便问下regex是什么方法,怎么使用...
(类似txt中查找下一个的功能),找到第一个后再点一下可以查找下一个,(查找到的字符要选中);
顺便问下regex是什么方法,怎么使用 展开
顺便问下regex是什么方法,怎么使用 展开
2个回答
展开全部
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();
}
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了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询