cnbook中文记事本是一款功能强大的记事本软件,具有丰富的正则功能,标签页的设计方式可进行多个记事本页面的同时编辑,可支持文本编辑、自定义替换、繁简体半角全角转换、以及字体、颜色等等,内置正则表达式示例可参考,需要的朋友可以来本站下载。
cnbook自定义替换教程
要使用cnbook的自定义替换功能,用户要先准备一张替换表。替换表是一个文本文件,每行的格式是:
源字符串=目标字符串
注释行以“=”开头。如果字符串包含“=”,必须写成“\=”。如果字符串包含“\”,必须写成“\\”。准备好替换表后,在cnbook中通过“设置->自定义替换表”进入自定义替换表的设置。
cnbook允许用户设置30张自定义替换表。选择要设置的替换表序号,点击“设置”按钮选择替换表源文件。 点击“选项”按钮设置替换选项。“字符实体到编码”替换表的选项是:
设置后好,就可以通过编辑菜单或右键菜单执行自定义替换了。cnbook将替换表源文件和替换选项保存到cnbook所在目录的文件 “tables\n.tab”,其中n是替换表序号。 替换表的作者只要发布tab文件,其它用户就可以分享他的替换表。一个较好的做法是在发布tab文件的同时发布替换表源文件,在源文件开头用注释行说明替 换选项。
cnbook替换选项教程
“使用转义符”选项设置是否解释替换字符串中的转义符。cnbook目前支持以下转义符:
\\字符'\'
\n代表连续的回车符(0D)和换行符(0A)
\t制表符(09)
\x"1-6位16进制数"代表16进制Unicode编码对应的字符。
例如“\xA0”就是Unicode编码为0xA0的字符。
在替换表源文件中,“\”要写成“\\”。
还有一个需要解释的选项就是“快速替换”。这个选项控制替换的过程:
如果没有选择“快速替换”,替换表的执行过程就是顺序执行替换表中的每组替换。执行每组替换都会扫描全部文本,后面一次替换是在前面一次替换的结果上进行的。这时,替换的顺序可能影响替换的结果。
“快速替换”只扫描一次文本。程序首先计算替换表源字符串的最大长度。扫描时从这个最大长度开始在替换表中查找匹配的源字符串。所以“快速替换”在每个扫 描点会优先匹配最长的字符串。“快速替换”不支持正则表达式,因为使用正则表达式的源字符串匹配的字符串长度可能是变化的。
正则表达式示例
1、删除所有数字。 只要查找:\d就OK。 为了不留空行:替换处:\d
2、删除所有英文字母。 只要查找:\a就OK。 为了不留空行:替换处:\d
3、删除除换行符以外的所有。 只要查找:. 为了不留空行:替换处:\d
4、既删除英文字母又删除数字。 只要查找:\w。 为了不留空行:替换处:\d
5、删除数字加字母加等于(如:3a=或3zz=) 只要查找:\d+\a+\=。 为了不留空行:替换处:\d
6、删除换行。只要查找:$。替换处:\d(还原查找:\a+=\f。替换:\0\n)。如在换行后加一空格,查找:(\a)$。替换:\0 \d。
7、删除空行 只要查找:^$。 为了不留空行:替换处:\d
8、删除首尾空格。 只要查找:^\s*|\s*$就OK
9、删除行前数字及顿号。 只要查找:\d+、替换为空
10、删除末尾标点符号。 只要查找:\P+$|\P+\s+$,“|”前面是没有空格的,“|”后面有空格,P后的加是为了……而用的。
11、删除末尾空格。 只要查找:\s+$。替换为空。
12、删除第一个字如:“的我们”中的“的” 只要查找:^\的。
13、删除第几个字。查找:查找:^().(.+)。替换:\1\2。去掉前面的拼音:查找:^\a+替换为空。第一个括号里可加“.”且可变。
14、删含的。查:.*的.*替:\d。的头查:.*=的.*替:\d。的尾查:\a.*\c.*的$替:\d(留它不匹配)●删非的行查:^[^的]+$替:\d
15、删除几码以上的码查:^(...)...替:\1。删第几位码。查:^(...).(.+)替:\1\2(变成\1,\2则其位则改成,了)首括号的.可变。
16、删除各类型的几字词,但必须是码前词后或纯词。三字词:查找:^\~f{}\f{3}$替换:\d。替换:\d “3”可以改。
17、删除11字词及其以上的词条查找(自定义格式):\a{}\=(\c|\P|\p){11,}。替换:\d。11可改。留它们勾“查找不匹配的行”。
18、删除10字词以上的词条。查:\a+=(\c|\P|\p){11,} 替:\d。纯词条查找:(\c|\P|\p){11,}。 留它们勾“查找不匹配的行”。
19、删除含有“错误的信息”的行,查找:^.+(错误的信息).+$ 替换为空。(含自定义格式和纯文字格式)
20、删除所有编码:查找:\a+,?\= 替换为空
21、删除“=”前后均有“英文”的词条。查找:\a+=\a+\c.* 替换\d
22、删除“编码中含‘,’”的词条:\a+,=\c+$替换:\d 如果要留下它们,则“查找不匹配的行”
23、删除中文中间有“,”和“、”的词条。查:^\a+.+\=\c+\~c.+$|^\a+.+\=\c+\~f.+$。替换:\d。留下它们,则“查找不匹配的行”
24、删除段首第一个“字”:查找:^.(还可去那个段首英文句号)
25、删除“=”后面的内容含“=”。查找:\=.* 替换为空。
26、删除五码词条,逗号除外:查找:\a{5},?\=(\c|\P|\p){2,}替换\d
27、删简码:一级:查找:\c\ \a$。二级:\c\ \a\a$。三级:\c\ \a\a\a$。四级:\c\ \a\a\a\a$。替换都为:\d。(格式词前空格)
28、删除乱码。查找:\schinagba.*替换处为空●“EmEditor”中去除乱码:查找:[[:space:]]chinagba.*替换处为空
29、删除GBK以外的字符(21003个字符以外)查找:\~g
30、删除没有“在”字的行。查找:^[^在]+$替换:\d
31、删除邮箱:查找:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
32、删除“a后面的‘空格和aaa’”工a aaa 查找:(^\f*\a*)\s.* 替换:\1
33、删除一、二、三、四级简码:查找:^\a{2}=\c$(要去掉“几”级简码,就将“2”改成“几”)替换:\d
34、删除以“vui”开头的词条,查找:^[vui].*$(方括号里的字符是“或”的关系,故^(v|u|i).*$或^v.*$|^u.*$|^i.*$也行)替换:\d
35、删除非vui开头的编码词条,查找:^[^vui].*$在方括号内加个“^”就是“非”的意思
36、删除四码的三字词、四字词:查^\a{4}=\f{3,4}或<\a{4}=\f{3,4}、替换:\d依此类推。没有编码的,查找:^\f{3,4},替换:\d
37、删除4—6码的“的”字开头的词条,查找:^.{4,6}\=的.+$。 替换:\d
38、删除2—3码的2—260字词的词组,查找:^.{2,3}\=.{2,260}$。替换:\d
39、删除“=”后面没有英文的词条:查找:^\a+\p?=\c+.*$。 替换\d
40、删除“=”后带有中文和英文的词条:只要在查找出输入:^\a.*=\a.*\f{1,}$就行了。
41、删除词组得单字。查找(自定义式):^\a\a+\p?=\f\f+.*。替换:\d●(有,的再在等于前加,)词前码后中间一空格^\c\c+\~f+
42、删除单字得词组。查找(自定义格式):^\a.*=\c$ 替换处:\d(纯单词:变查找为^\c$。未收录在GBK的纯单字:变查找为^\~g$)
43、删除二字词。查找:\a.*=\c{2}$。替换:\d(2可变。如留下二字词勾上“查找不匹配的行”)。
44、删除最后带“老”字的二字词:查找:^\a+=.老$。替换:\d。(“.”多少决定“老”字前面字的多少)
45、删除含有两个“你”字的词条:查找:^.+你.+你$|^.+你.+你.+$。替换:\d。
46、删除词组得单字。查找处(windows格式,词前码后中间无空格):查找:(^\f{2,}\a*) 替换:\d
47、删除单字得词组。查找处(windows格式,词前码后中间无空格):查找:^\c\a*$ 替换:\d
48、删除词组得单字。查找(极点格式,码前词后中间一空格):查:^\a{}\s\c{1}$ 替换:\d勾上:“查找不匹配的行”。不勾得词组。
49、删除叠词:①ABAB,查:(\c\c)\1。(\c\c)。②AA,查:(\c)\1。③ABB,查:\c(\c)\1。④ABAC,查找(\c)\c\1\c
50、删除无编码词条。查找: ^\c+.*$。 替换:\d。
51、删除有编码词条。查找: ^\a+.*$ 替换:\d。
52、删除各类型的双词条的词条(叠词条):tzmht=同志们好同志们好。查:.*=(\c+\c+)\1。替换:\d(纯词查找:(\c+\c+)\1)。
53、删除“,,”及后面的内容如:乸=vym,,nǎ。只要查找:\p,.*(不留读音)
54、删除“,,”及前面的内容如:乸=vym,,nǎ。只要查找:\f=\a+\,,(只留读音)
55、删除行末括号及其里面的内容:“初神创天地。(创 1:1) ”查:(\P)\(\c+\s+\d+.+\)|(\P)\s+\(\c+\s+\d+.+\) 替换则替换处\1
56、删除四码后面所有:1、词前码后:查:(\a{4}).+。替换:\1。2、码前词后中间一空格:查:^(\a{4})\a+(\s\c+)。替换:\1\2
57、删除:(adf 369)只要查找:\(a.*\)
58、删除句末括号及里面的内容:(\P)\(\c+\s+\d+.+\)|(\P)\s+\(\c+\s+\d+.+\)
59、删除加加词库类的带拼音词条:查找:\c+\a+.*。 替换:\d.
60、删除汉字后面的字母和数字并保证每字一行如:调diao4号hao4的de韵yun4腹fu4。查找:\a+\d?。替换:\n。
61、删除“[行首][编码][分隔符][词条1]”其中括号和数字,且每词一行。查找:\~f+。替换:\n(用批处理:文章变词库更好)
62、删除“u字符如:??”。查找:\~g。替换:\d。只留下它们,删除其它则勾选“查找不匹配的行”。
63、删除“-”前后的词如:按捺-按纳。查找:\-\c+.*|\(\c+.*。结果删后面的。\c+\-|\c+\(|\s*$|\).*$=。结果删前面的“-可变”
64、删除上标的逗号并在字音中留空格如:着重指出 zhuo'zhong'zhi'chu'。查找:(\a+)\a*'。替换: \1(\1前面一个空格)。
65、删除全拼变简拼如:着重指出 zhuo'zhong'zhi'chu'变成着重指出 zzzc。查找:(\a)\a*'。替换:\1
66、删除换行的另一种:词音各一行,音归到词的后面变成:“人才难得ren'cai'nan'de”:查找:\c+$。替换:\0\d。
67、删除“=”后没有汉字的词条。查找:^\a.*=\~f{1,}$。替换:\d。
68、删除“=”后没有英文的词条。查找:^\a.*=\f{1,}$。 替换:\d
69、删除“=”后不是英文开头的词条。查找:^\a.*=(\~a{1,}$|\a{1,}\c{1,}$)。替换:\d
70、删除“=”后面没有“英文大写字母”的词条:查找:\a.*=\c.*。替换:\d(去掉‘匹配大小写’前的勾)。
71、删除“=”后面有“英文字母”的行,但是“以汉字结尾的词条”。查找:\a+,?=.*\a.*。替换:\d。
72、删除“=”后面纯中文的行。查找:^.+\=\f+$。替换:\d(没有“^”不能选整行)。如无编码:查找:^.\f+$。替换:\d。
73、删除“=”后面所有带标点符号的行。查找:^.+\=.+\P.+$|^.+\=.+\p.+$。替换:\d
74、删除“=”后面有中文数字的行。查找:\a+,?=.*\n.*。替换:\d。
75、删除“=”后面有阿拉伯数字的行:\a+,?=.*\d.*。替换:\d。
76、删除“=”后面的“标点符号”:(\=.+)\P。替换:\1。(注意:多删几次●)
77、删除加加词库中“含长(zhang)字拼音以外的,其它任何字的拼音”。查找:([^(长)(zhang)])(\a+)。替换:\1。
78、删除所有括号及里面的内容。三步都替换为空。①\([^)]*\)。②\[[^]]*\]。③\<[^>]*\>。当然可以做成批量替换表。
79、删除所有括号及里面的拼音。查找:(.{-})。替换为空。
80、删除多空格的行,即空格连空格。查找:.*\s\s+.*。替换:\d。空格相间,查找:.* .* .*。中文空格不论多少只要查找一个。
81、增加字间空格:查找:\c. 替换:\0 注意:“0”的后面有一个英文空格(空格数可以变,c可变)。
82、行头数字前面增加“%”符号:查找^(\d) 替换%\1
83、增加n个空行:查:$。替换:\n(\n可变)如:第01集 第01章 早安早安。查:(第\d+集\s第\d+章.*)。替:\n\n\1空多就用\s+
84、在任何位置加“,”。查找:\a{3} 替换:\0,(3可变)。中文部分第三个字后加“了”,查:\c{3} 替换:\0了(了可变)。
85、末尾加感叹号。查找:[^。]$。替换:\0!(感叹号可变)
86、行前加CB:查找:^。替换:CB(CB可变)
87、码词间加空查:^(\a+)(\c+)。替:\1 \2。词码间加空查:^(\c+)(\a+)。(第一可查:\a+,?。替:\0 注0后有空第二查\c+,?)
88、词中加空格如“第五部第一章好”。部字后面加:查找:(第\n+部)。替换:\1 章字后面加。查找:(第\n+章)。替换不变。
89、在编码后面加等于“=”。查找:\a+,?。替换:\0\=。
90、大小写互换。小变大:查\a。替\u。大变小:查\u。替\l。“=”前的大变小,查:\u.*=。替:\l。“=”后的变小只查:\=.*\u。
91、^(\)是查找第一个!如:^(\d)、^(\c)、^(\a)是查找第一个数字、汉字、字母。查找:^(\d) 替换:%\1是第一个数前加个:%
92、各种类型的码表变成一行:查找:\n 替换为空(勾上“使用转义符”,若是中间需要空格就替换为空格)
93、连续字断行成一字一行:查找:(\c)替换\1\n\2。或者查找:“.”。替换:\0\n
94、在“在”字前面换行:查找:^(\f+)(在.+$)替换:\1\n\2。如果是删除“在”字前面的词,只要替换成\2
95、留下几级简码:查找:^\~f{2}=.{}$。替换:#@#\0。再查:^[^#][^@][^#].{}$。替换为\d。最后将^#@#替换为空(2可变)
96、提取二码的二字词:查找:^\a{2}=\c{2}替换\d。★选“正则表达式和查找不匹配的行”,“2”可变。
97、姓配称呼。姓用查找:^(.*)$。替:\1\\\\1\\\\n\d。开头加^(.*)$=,自定义替换“百家姓”。将称呼放入cnbook,点击百家姓。
98、字符打倒:如将:abcdefg变成gfedcba 查找:(.)(.)(.)(.)(.)(.)(.) 替换:\7\6\5\4\3\2\1
99、回车符替换成制表符(即每个词条后面加个长空格):查找:\n。替换:\t(勾上“使用转义符”)。
100、回车符替换成即字符(即每个词条后面加个“\”符):查找:\n。替换:\\(勾上“使用转义符”)。
101、词码对调→码前词后:查:^(\a+,?)=(\c+.*)。替:\2=\1。→词前码后:查:^(\c+.*)=(\a+,?)。替:\2=\1(=可变)。
102、只把编码后面的一个空格换成=查找:(\a+,?)(\s)(.*)替换:\1=\3
103、每字母间加逗号如:竖排的ABCD→A,B,C,D。查:$。替:,\d。横排的ABCD→A,B,C,D。查:\a。替:\0\,。
104、出简不出繁(格式词前码后=式):先按拼音排序(不能按字数排序),再合并行,查找:(\c\=)(\a+)\1\2\a+。替换:\1\2。
105、只把数字中的“。”变成“.”如:zmjhv=总面积50。5万亩,变成“zmjhv=总面积50.5万亩”查找:(\d)。(\d)。替换:\1.\2
106、提取编码词条中的最后两个汉字。查找:\a+=\c{2}。替换:\d(2可反变)。
107、删除每段最后2个字符。查找:$,替换:\b\b \b的数字可变,删除的字数也可变。
108、提取自定义格式的“最后一个汉字”。查找:\a{},?\=(\c|\P|\p){2,} 替换:\1\2
109、提取倒数第二个汉字。查找:\a+\=\c+(\c)\c$。替换:\1。提取倒数第三个汉字。查找:\a+\=\c+(\c)\c\c$。替换:\1。
110、“ 第五部第一章安家置业”变成“第五部 第一章 安家置业”查找:^\s+(第\n部)(第\n章)(.+)$。替换:\1 \2 \3。
111、提取编码的“几月几日”的词条。查找:^\a+,?=\d.*月.*日.*。替换:\1\d。勾上查找不匹配的行。
112、“=”式词码对调。词前码后。查找:^(\a+,?)=(\c+.*)。替换:\2=\1。码前词后。查找:^(\c+.*)=(\a+,?)。替换:\2=\1。
113、N个二字词排一行,把它们分成每词一行。查找:(\c{2})。替换:\1\n\2(查找中的2可变)。
114、留下几字词。查找:.*\=\c{3}$。替换:\d(3可变,留几变成几)。必须勾上“查找不匹配的行”。
115、一次性改动第几位码。“hcyxv=很重要”改成“hzyxv=很重要”:查找:(.).(.+)。替换:\1z\2(第一个“.”和“z”可变)。
116、查找错误部分的部分如:cpbj=采编。查找:.*p.*=.*采.*(p为错编码)。
117、英文字母开头的行,前面加“v”:查找:\a+.*。替换:\v\0(部分跨行查找)。
118、中文开头的行,后面加“%”。查找:(\c)$。替换:\0\%。
119、词库末尾加=\d:查找:$。替换:=\\d。
120、词条第一个字和最后一个字交换位置。查:^(.)(.+)(.)$。替:\3\2\1。二字词的。查:^(.)(.)$。替:\2\1。
121、纯词条或纯字母,首字与第三字换位查^(.)(.)(.)(.+$)替:\3\2\1\4。与第四字换查:^(.)(.)(.)(.)(.+$)替:\4\3\2\1\5类推。
122、编码词条的换位:首字与第三字换位查(\c)(.)(\c)(.+)$替换\3\2\1\4。与第四字换查(\c)(.)(.)(\c)(.+)$替:\4\3\2\1\5类推。
123、编码词条的三字词的首字母与第二个汉字换位。查找:^(.)(.)(.)(.)(.)(.)(.)(.)(.+$)。替换:\8\7\6\5\4\3\2\1\9。
124、将晟=ri'cheng,,shèng/éng、龆=chi'zhao,,tiáo变成晟=rc、龆=cz查:(\=\a)([^(\=|\')]+)|(\')(\a)([^(\=|\')]+)替:\1\4
125、将以上“100号”的同时保存读音则只要将查找:(\=\a)([^(\=|\')]+)|(\')(\a)([^(\=|\'|\,)]+)替换:\1\4
126、查找最后一个读音是“c”“长”的字。查找.*c=.*\长$
127、修正第六码“银行”。查找:^(.....).(.+)银行$。替换:\1h\2银行
128、查找第十四位的“长”。查找:^(.............)长
129、修正13、14位的“成长”的编码,查找:^(....)cc(......成长)(.+)。替换:\1cz\2\3
130、有空格时(或含行首),提取首字母。查找:(\ah*)\a*。替换:\1。(zh、ch、sh可用其它字母代替时为双拼)
131、词码间加“=”。查找:\c+。替换:\0\=。码词间加的话。只要将查找改为:\a+
132、zhòn há rén mín gòn hé gó提首字母音(zh、ch、sh)。先查找:(\ah*)\a*。替换:\1。再查找换成:(\ah*)\f\a*\~f
133、增加“.”。查找:\^\(.....\)。替换:\^\(......\)。
134、这种类型提取最后的“行”字。查找:.*行\)。替换:\d。
135、末尾加“\d”。查找:$。替换:=\\d。
136、两字之间插入“a”。查找:\c\c。替换:\0\a(c的数量可变)
137、查第几位的某字如“=”后第三位的“行”查\a+,?=\c\c行。替:\d。(留下,勾上查找不匹配的行“\c\c”、“行”可变)。
138、在“行”字中删除“行x”的行,查找:^(.)x.*(一“.”代表行x在第二位“.”可变)。替换:\d.
139、删除A与B中间的全部内容:查找:(A).+(B)。替换:\1\2。
140、删除“曾”开头的三个字的纯词条:查找:^\曾\c\c$。替换:\d。删除“曾×到”查找:^\曾\c\到$。
141、将“我【我们】”变成“【我】我们”查找:(\c)【(\c{})】。替换:【\1】\2。反过来查找:【(\c{})】(\c+)。替换\1【\2】
142、词码相间的处理:分别用“词”和“码”替换成空格,然后用Excel处理,最后提取首字母。
143、东西长l0。2米,换成:东西长l0.2米。查找:(\d)。(\d),替换:\1.\2
144、增加空行。查找:$。替换:\n。(\n\n是两行,\n\n\n是三行)。
145、极点格式转WIN格式。查找:(\a+) (\c+)。替换:\2\1。WIN格式转极点格式。查找:(\c+)(\a+)。替换:\2 \1
146、文中有周世元、周世南、周世,只查周世,并仅将周世换成周世玉。查周世([^元南成梦东玉])。换周世玉\1如果竖排只查周世$
147、将“fpgc,1=彀”移到行首:查找:(^.+)(\d)(.+$)。替换:\2\1\3。(移位)
148、“=”后面第二个复制到首位查:^(\a.*)\=\c(\c)(.{-})。换:\2\0\3(增减“=”后的\c或\c{n},间标点不行)。还原:^\c(移位)
149、纯词条全部复制,放到首位中间加“=”:查找:(\c.*)。替换:\1=\0。如果后面带编码,只有要改查找:(\c+)(移位)
150、纯词条复制第几个字到行首查找:^\c(\c)(.{-})。替换:\1\0\2(括号前的“\c”多少可变)。纯码就把“c改a”。(移位)
151、“ccms,=晨参暮省=ccmx,=晨参暮省”变成“ccms,\=晨参暮省=ccmx,\=晨参暮省”查找:\a+,?。替换:\0\\。
更新日志
1、解决“打开文件名很长的文件(例如070511_kSimplifiedVariant_many_to_one_problem_simplified_char_183.txt),程序会异常退出”的问题
2、批处理中原来忘了处理删除段内回车、删除重复行、按行排序功能,现在填上
3、修改原来一个笔误(把ID_EDIT_FINDPREV写成了ID_EDIT_FINDNEXT)
4、完善替换功能
5、改用Crimson Editor的文件列表,并增加了tooltip
6、增加记忆窗口位置的功能
7、增加了时间、日期功能
8、增加粘贴文件名功能
9、改进、整理图标
10、增加关闭窗口的快捷键,改变文档图标
11、再次改进自动编码识别算法,改进gbk和big5的识别
∨ 展开