如果使用的是RichTextBox的话,那么直接调用RichTextBox.Find就可以实现查找功能了.Replace功能的实现:利用查找功能找到要替换的文本,然后
RichTextBox.SelectedText = ReplaceWords;就可以了;如果使用的是TextBox的话,将整个文本的内容读到一个string中,再利用IndexOf实现查找,用Replace实现替换.也可以考虑使用正则表达式来实现.
RichTextBox.SelectedText = ReplaceWords;就可以了;如果使用的是TextBox的话,将整个文本的内容读到一个string中,再利用IndexOf实现查找,用Replace实现替换.也可以考虑使用正则表达式来实现.
解决方案 »
- 截取字符串
- 有没有人试过Acrobat SDK的C#编程的。。。能不能给个工程例子看看?
- 这个算法有点难!高手进来
- c#对word操作wdFieldNumPages 怎样减少总页码数?
- 菜鸟求解,大虾们请指教。————在线等
- 一个无线网卡,一个pc网卡,想通过无线网卡上internet,pc网卡局域网,是否可行
- 绘图难题,请大家指教
- 刚才有误,问!如何在form的load时候关闭该form
- 有关FCK编辑器改成.net2.0(C#)出现错误:使用主题css文件要求页上有标头控件,急,请指教!
- 水晶报表的横纵坐标是怎么设置的?
- 使用OdbcDataReader读取数据的一个疑问
- DataGrid的单元格中怎么能检测到上、下方向键被按下,以及Enter键被按下?
获得当前鼠标位置,还是光标位置? 如果是鼠标可以捕捉你的MouseMove事件,或是使用API:
[DllImport("user32.dll", EntryPoint="GetCursorPos")]
public static extern int GetCursorPos (
ref Point lpPoint
);如果是光标:
[DllImport("user32.dll", EntryPoint="GetCaretPos")]
public static extern int GetCaretPos (
ref Point lpPoint
);
如果是RichTextBox,调用RichTextBox.Find后就自动选中了,如果还看不到选中效果,可以把RichTextBox的HideSelection属性设为false
String.Replace
不可以吗?
//查找 用法
// string str2="studio";// int result=str1.IndexOf(str2,0);
// if(result>0)
// MessageBox.Show("Found");
// else
// MessageBox.Show("Not Found");分割 用法(到一個array裡面就ok了)
string total="aaa,bbb,ccc,dddd";
string[]strArray;
char[]charArray=new char[]{','};
strArray=total.Split(charArray);.
正则表达式;
正则表达式
string s = "asdfjl;ksjfl;asjd######kfl;jaksd;lfj;lsadfjk;lfdlkjhsjnvkashfkjsadkflksaldhfklasdfasdl;kfj;lsjdaf;laksjdf;khsd;lfjlas$$$$$dhfk;lajsdkfljsadklfhskldfhklsadfhlkshdfklasdkflasdhkflhdsalfhsaklfhnklsdhfkshdflkhdskfljsdkfjhslkdfkasjdfklashfd"; string r = "你想要换的string"; Console.WriteLine(Regex.Replace(s,@"######.*?\$\$\$\$\$",r));or Console.WriteLine(Regex.Replace(s,@"#{6}.*?\${5}",r));
Console.WriteLine(Regex.Replace(s,@"(?<token1>######)(?<anything>.*?)(?<token2>\$\$\$\$\$)","${token1}"+r+"${token2}"));or Console.WriteLine(Regex.Replace(s,@"(?<token1>#{6})(?<anything>.*?)(?<token2>\${5})","${token1}"+r+"${token2}"));
出来循环处理!
Form1 form1 = new Form1() ;
string sr2 = form1.textBox1.Text ;
int result = sr2.IndexOf(sr1,0) ;
if(result>0)
{
form1.textBox1.Select(0,this.textBox1.Text.Length) ;
form1.textBox1.Focus() ;
}
调试的时候没有发现错误,但是没有实现查找的功能,并且没有选中要查找的字符串,为什么?
请高手指教,最好能写出具体的代码!
为什么?
请高手赐教?
private void buttonFind_Click(object sender, System.EventArgs e)
{
string words = this.textBox1.Text;
string tobefound = this.textBox2.Text;//textBox2中放要查找的字符
if(startIndex == -1)//not found
return;
startIndex = words.IndexOf(tobefound,startIndex);
if(startIndex >= 0 && startIndex < words.Length)
{
this.textBox1.Select(startIndex,tobefound.Length);
this.textBox1.Focus();
startIndex += tobefound.Length;
}
}private void buttonReplace_Click(object sender, System.EventArgs e)
{
if(this.textBox1.SelectedText.Length > 0)
this.textBox1.SelectedText = this.textBox3.Text;//textBox3中放要替换的字符
}
没有错误,但是没有实现查找功能,调试的结果都是startIndex == -1情况
private void button1_Click(object sender, System.EventArgs e)
{
string sr1 = this.textBox1.Text ;
Form1 form1 = new Form1() ;
string sr2 = form1.textBox1.Text ;
int startIndex = 0 ;
startIndex = sr2.IndexOf(sr1,startIndex) ;
if(startIndex==-1)
{
记事本 notepad = new 记事本() ;
notepad.Show() ;
}
if(startIndex >= 0 && startIndex < sr2.Length)
{
form1.textBox1.Select(startIndex ,sr1.Length) ;
form1.textBox1.Focus() ;
startIndex += sr1.Length ;
}
}