搜索并替换术语列表?

时间:2015-06-04 10:14:32

标签: search replace ultraedit

我想知道是否有一个程序我可以使用我想要替换的术语列表而不是一个接一个。

实施例

À=À
â=â
Â=Â
å=å
Å=Å
ã=ã
Ã=Ã

提前谢谢

我使用 UltraEdit powergrep atm

2 个答案:

答案 0 :(得分:1)

这是我的umlaut2html-Makro,它可以进行一些自动文本替换。我想它可以作为灵感; - )

// Lessons learned from Mofi ;-)
UltraEdit.ueReOn();
UltraEdit.activeDocument.findReplace.mode=0;
UltraEdit.activeDocument.findReplace.matchCase=true;
UltraEdit.activeDocument.findReplace.matchWord=false;
UltraEdit.activeDocument.findReplace.regExp=false;
UltraEdit.activeDocument.findReplace.searchDown=true;
UltraEdit.activeDocument.findReplace.preserveCase=false;
UltraEdit.activeDocument.findReplace.replaceAll=true;
UltraEdit.activeDocument.findReplace.replaceInAllOpen=false;
UltraEdit.activeDocument.findReplace.selectText=false;
UltraEdit.activeDocument.findReplace.regExp=false;
UltraEdit.activeDocument.findReplace.replace("ä","ä");    
UltraEdit.activeDocument.findReplace.replace("ö","ö");    
UltraEdit.activeDocument.findReplace.replace("ü","ü");    
UltraEdit.activeDocument.findReplace.replace("Ä","Ä");    
UltraEdit.activeDocument.findReplace.replace("Ö","Ö");    
UltraEdit.activeDocument.findReplace.replace("Ü","Ü");    
UltraEdit.activeDocument.findReplace.replace("ß","ß");    

将它保存到任何你喜欢的.js文件中(MyDocuments\UE-Scripts可能是个不错的选择),然后调用Script> “脚本......”和“添加”,导航以选择.js文件。

答案 1 :(得分:1)

UltraEdit 有2项功能可自动重新格式化任务:脚本

有关差异的简要概述,请参阅UltraEdit论坛主题When to use Scripts over Macros

UltraEdit宏

只需记录手动对文件执行的替换,或直接在编辑/创建宏对话框中对其进行编码,即可创建UltraEdit宏。

手动创建如下:

  1. 点击菜单项编辑宏菜单中的 UltraEdit
  2. 点击按钮新建宏
  3. 输入宏名称,例如ReplaceEntities
  4. 取消选中宏属性显示此宏的取消对话框
  5. 如果未找到搜索字符串
  6. ,请让宏属性继续。
  7. 如果希望以后按键快速执行宏,可以按键分配热键或和弦以便快速执行。
  8. 点击按钮确定
  9. 返回编辑/创建宏,现在使用宏命令在编辑字段中选择了3行已选中的新宏:
    InsertMode
    ColumnModeOff
    HexOff
  10. 必须为此重新格式化任务添加以下3个宏命令,下面列出了宏代码行。
  11. 点击按钮关闭并确认问题以使用按钮更新宏。
  12. 然后可以使用宏

    • 分配热键/和弦,
    • 双击宏列表,通过查看 - 视图/列表 - 宏列表,如果尚未显示(停靠或浮动),或< / LI>
    • 使用宏 - 播放任意/多次

    同样宏 - 再次播放可以经常使用,具体取决于上次执行的宏。

    除了在整个活动文件HTML实体中替换的对话框中已存在的3个标准命令之外,还需要宏代码,例如:

    Top
    UltraEditReOn
    Find MatchCase "&Agrave;"
    Replace All "À"
    Find MatchCase "&acirc;"
    Replace All "â"
    Find MatchCase "&Acirc;"
    Replace All "Â"
    Find MatchCase "&aring;"
    Replace All "å"
    Find MatchCase "&Aring;"
    Replace All "Å"
    Find MatchCase "&atilde;"
    Replace All "ã"
    Find MatchCase "&Atilde;"
    Replace All "Ã"
    

    必须使用宏 - 全部保存将此宏(不带或不带其他UE宏)保存到宏文件中。

    如果稍后再次使用此宏(以及其他宏存储在同一个宏文件中),则需要使用宏 - 加载加载宏文件。

    使用宏 - 设置自动加载,可以选择一个宏文件,以便在启动UltraEdit时自动加载,以便此宏文件中的宏从开始可用而无需显式加载宏文件。

    稍后可以使用宏 - 删除宏/修改属性更改宏属性。在更改宏代码或其属性后,不要忘记使用宏 - 全部保存,以便在宏文件中保存此更改。

    UltraEdit脚本

    UltraEdit脚本使用JavaScript核心引擎。 UltraEdit脚本是一个ASCII / ANSI文本文件,其中包含JavaScript核心代码以及其他与UltraEdit相关的脚本命令。这意味着UltraEdit脚本可以像任何其他文本文件一样直接编写,不能在对话框中编辑。

    与上面的宏完全相同的UltraEdit脚本将是:

    if (UltraEdit.document.length > 0)  // Is any file opened?
    {
       // Define environment for this script.
       UltraEdit.insertMode();
       UltraEdit.columnModeOff();
       UltraEdit.activeDocument.hexOff();
    
       // Move caret to top of the active file.
       UltraEdit.activeDocument.top();
    
       // Define all parameters for several Replace All in entire active file.
       UltraEdit.ueReOn();
       UltraEdit.activeDocument.findReplace.mode=0;
       UltraEdit.activeDocument.findReplace.matchCase=true;
       UltraEdit.activeDocument.findReplace.matchWord=false;
       UltraEdit.activeDocument.findReplace.regExp=false;
       UltraEdit.activeDocument.findReplace.searchDown=true;
       UltraEdit.activeDocument.findReplace.preserveCase=false;
       UltraEdit.activeDocument.findReplace.replaceAll=true;
       UltraEdit.activeDocument.findReplace.replaceInAllOpen=false;
       UltraEdit.activeDocument.findReplace.selectText=false;
       // This property is only available since UE v14.10.
       if (typeof(UltraEdit.activeDocument.findReplace.searchInColumn) == "boolean")
       {
          UltraEdit.activeDocument.findReplace.searchInColumn=false;
       }
    
       UltraEdit.activeDocument.findReplace.replace("&Agrave;","À");
       UltraEdit.activeDocument.findReplace.replace("&acirc;","â");
       UltraEdit.activeDocument.findReplace.replace("&Acirc;","Â");
       UltraEdit.activeDocument.findReplace.replace("&aring;","å");
       UltraEdit.activeDocument.findReplace.replace("&Aring;","Å");
       UltraEdit.activeDocument.findReplace.replace("&atilde;","ã");
       UltraEdit.activeDocument.findReplace.replace("&Atilde;","Ã");
    }
    

    此类UltraEdit脚本应以文件扩展名 .js 保存,例如ReplaceEntities.js

    保存UE脚本后,可以通过脚本 - 脚本添加到脚本列表,并添加脚本的简短说明并指定热键/和弦用键快速执行的脚本。

    然后该脚本可供使用

    • 分配热键/和弦,
    • 双击脚本列表,通过查看 - 视图/列表 - 脚本列表脚本 - 脚本列表打开尚未显示(停靠或浮动)或
    • 单击菜单脚本
    • 中的脚本文件名

    如果UE脚本是活动文件并且它被编写为在活动文档上运行NOT,则该脚本也可以使用脚本 - 运行活动脚本执行。但是大多数类似上面的脚本都是在活动文件上运行的,因此需要将脚本文件添加到脚本列表中以便执行。

    在UltraEdit中的任何地方都没有记录JavaScript的核心对象和函数,尽管它们也可以在UltraEdit脚本中使用。有关核心功能的文档可在Mozilla Developer站点上找到。

    UltraEdit的附加脚本命令在UE的帮助下记录在标题为Scripting commands的页面上。还有查看 - 视图/列表 - 标记列表,其中包含标记组 UE / UES脚本命令以及 UE / UES宏命令在插入符号的当前位置的活动文件中添加UE的脚本或宏命令。