更换/更换记事本中的所有操作

时间:2011-08-01 05:18:19

标签: c# .net winforms

我正在用C#winforms创建一个记事本程序。请告诉我一些关于如何执行更换/替换所有操作的想法。

3 个答案:

答案 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()