页面载入中...
首页 » Tag ‘搜索’

Replace Studio有时无法搜索中文的解决办法

Replace Studio,它的前身是Search & Replace,网上有多个版本。这是一个神器级别的批量文本查找/替换工具,它可以帮助你l轻松查找/替换某个指定文件夹下指定类型文件的文本,对于想修改SuperMemo UX课程文本的童鞋非常有用。支持脚本,支持正则替换,在同类型软件中拥有顶尖的水准。

Replace Studio有一个小小的缺陷,就是在中文的搜索上不够完美。舍得并不是说它完全不能搜索中文,只是,当你的文本类文件(除txt格式外,还有html/xml/ini/php等)的编码是UTF-8的时候,Replace Studio就无法搜出中文了,这个问题该如何解决呢?

此时我们可以借助一个叫做ConvertZ的小工具,它可以对文件的编码进行批量的转换,操作很简单:

1.运行ConvertZ;

2.右键点击系统托盘(在右下角)中ConvertZ的图标,从弹出的快捷菜单中选择“纯文字文件转换”;

3.在“来源文件”中选择你想转换的文件夹,然后可逐个添加,也可以点击“全部加入”;

4.在“目的地”中指定转换文件的保存位置;

5.在窗口右侧中部位置选择编码的转换方式,要将UTF-8转换为GBK的话,需要点击“进阶”按钮,然后分别选择相应的选项;

6.点击”开始转换“,转换完成后,暂时不要退出ConvertZ;

7.转换好的文件就可以使用Replace Studio来进行批量查询和替换了;

8.用Replace Studio处理完后,再用ConvertZ把编码转换回去;

虽然Replace Studio不甚完美,但这个对于它的优点来说,实在是瑕不掩瑜。

P.S. 经舍得测试,Replace Studio的同类软件Actual Search & Replace同样也存在这样的问题。

Replace Studio(文本批量查找替换工具) V7.10 汉化版

ConvertZ 8.02绿色版下载

 

本文版权归舍得学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
作者:
舍得
首发:舍得@学习力博客

SuperMemo UX 新版辞典研究心得

舍得对SuperMemo UX官方课程中的新版辞典垂涎已久。这货很漂亮,而且非常实用。比起原来那种方式的辞典,拥有更强的互动性。简单地来比较这两个之间的区别就是:老辞典需要专门制作一个辞典文件,而新辞典会自动从课程中提取内容;老辞典的搜索很鸡肋,新辞典则可以给我们更强大的搜索、分类以及关联词汇的功能。

2012-4-13 7-23-12

新辞典中的分类让人感觉很舒服。

2012-4-12 20-28-04

新辞典的搜索速度很快,而且搜索的结果中自动带了音频、例句等信息(尤其是例句,这是老辞典中没有的)。下方还有“主题相关词汇”,对于建立你的“网状结构词库”(朗文的专家们称其为“心理词库”)相当有帮助。

昨天下班后便开始对这个问题进行了研究。研究的方法很原始:先解开官方的课程包,然后逐一分析其中的代码,这是舍得能想到的最笨的方法。

毫无疑问这个过程是相当痛苦的,而且还不小心走了些弯路:我被官方的related这个文件夹给忽悠了……幸好舍得反应还算灵敏,及时调整了方向,否则这次研究又得无疾而终。

过程就不一一叙述了,直接上研究结果:

辞典的秘密主要藏在课程列表文件(course.xml)中,要点如下:

1.<type>vocabulary</type>:这里的值是关键,必须是vocabulary,不能是regular;

2.光有上面这个值还不行,你需要在文件中作如下定义:

1)如果不要分类,则直接作如下定义:

<element id="15033" type="pres" subtype="1000" name="Word 2135" disabled="true" keywords="wipe" partOfSpeech="v" frequency="4963" subsets="6">
  <element id="15034" type="exercise" subtype="1" name="Say the word" keywords="wipe" partOfSpeech="v" frequency="4963" />
</element>

简单说明一下这里的几个重要属性:

a)keywords:关键词,这是用来索引的重要依据;

b)partOfSpeech:词性;

c)frequency:词频;

从上面的结构来看,外面这层空壳(即ID为15033的这一层,这是个章节,没有实际内容)是关键,没有这一层,程序做不了索引,自然无法让你搜索;

2)如果需要分类,则应该在外边再套一层:

<element id="84" type="pres" name="Personal pronouns" disabled="true">
  <element id="163" type="pres" subtype="1000" name="Word 10" disabled="true" keywords="you" partOfSpeech="pron" frequency="8" subsets="2,4">
    <element id="164" type="exercise" subtype="1" name="Say the word" keywords="you" partOfSpeech="pron" frequency="8" subsets="2,4" />
  </element>
</element>

ID为84的name属性的值是“personal pronouns”就是分类名,如果想在这分类上面再搞一个更大的分类,则请再套一层;

3、新辞典的显示效果取决于默认模板,默认模板建议使用官方的99999号模板,在course.xml中应该作如下定义:

<default-template-id>99999</default-template-id>

以上三点,就是实现新辞典功能的要点。如果只想使用搜索,不用分类的话,实现起来相当简单,只要将课程列表改造一下就行,如果你的正则表达式学得足够好的话,应该能够完成这项工作;如果需要分类的话,那可能麻烦一点,不过对于转换精灵来说,相对还算简单,可以考虑在以后的版本中提供制作新辞典的功能。

本文版权归舍得英语魔法学苑所有,欢迎转载,转载请注明作者和出处。谢谢!
作者:
舍得
首发:
舍得@学习力博客