我正在用C#winforms创建一个记事本程序。请告诉我一些关于如何执行更换/替换所有操作的想法。
答案 0 :(得分:2)
我认为最好的方法是使用RegEx来实现这种情况。也许有助于本文http://www.codeguru.com/cpp/cpp/string/regex/article.php/c2791
使用RegEx
进行搜索/替换机制和Thorsten
答案 1 :(得分:1)
Console.WriteLine("TEXT".Replace("EX","XE"));
返工:
var s="TEXT";
Console.WriteLine(s.Replace("EX","XE"));
在评论中简单实现问题:
Console.WriteLine("TEXT".IndexOf("EX"));
var s="TEXT";
var f = "EX";
var r = "XE";
var i = s.IndexOf(f);
s=s.Remove(s.IndexOf(f), f.Length);
s = s.Insert(i, r);
Console.WriteLine(s);
使用简单的扩展方法向后替换,反转上面的内容并使用.Reverse();
请注意.IndexOf(f)具有可用于步进的起始值.IndexOf(f,start)。
答案 2 :(得分:1)
您可以先模拟Ctrl + H快捷方式以显示“替换”对话框,然后使用PInvoke获取“查找内容”和“替换为”的编辑控件的窗口句柄;最后更改两个编辑控件的文本,并模拟按钮单击“全部替换”。
可能使用的API包括:
GetWindowText()
SetWindowText()
SetForeGroundWindow()
SendKeys.Send()