|
|
请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
昨天去接人,提前去了,车又晚点,有些闲暇时间。不做低头族并拒绝发呆的俺,就半闭着眼睛养神(随时捕捉眼前路过的靓丽的风景),顺带思考猪吃屎的严肃问题。
脑子里闪现全拼切割的结构:guang'an,li'a,men'gang ……
分隔符!让分隔符参与到替换程序中来,还有,换行符也要参与!
于是找到了彻底解放猪猪的方案,核心是被替换字串的边界确定——一旦边界得以确定,替换就是精准的,且替换的结果就不会在后续的替换中被重复替换,就不存在出错的几率。是的,加入了被替换对象的边界后,每一个子循环的操作,只有符合正则语意,都①得出正确的新字串,②它不再具备被再次替换的特征字串,从而避免在后续的替换子循环中弄错结果。
现实操作还需要改进替换变量的拼音数组,将可能出现的汉字拼音组合且需要替换为双拼的全部罗列出来,并将双拼字串也附在每一个全拼组合的后面,构建一个二维数组。然后利用 EmEditor 宏对正则的支持,在每一次替换子循环中都进行两种替换:①分隔符左边的替换,②分隔符右边的替换。
脚本程序写好后,测试,惊喜发现:猪猪解放了,不用再吃屎了!
核心代码示例:
var py_ar = [
["zhuang","vl"],
["chuang","il"],
["shuang","ul"],
// 这里还有很多……
["e","ee"]
];
for(var i = 0; i <py_ar.length; i++){
document.selection.Replace("\t"+py_ar[0]+"'", "\t"+py_ar[1]+"'", eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
document.selection.Replace("'"+py_ar[0]+"$", "'"+py_ar[1], eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
}
|
评分
-
| 参与人数 4 | 威望 +160 |
金钱 +320 |
经验 +160 |
收起
理由
|
小辣椒
| + 50 |
+ 100 |
+ 50 |
赞一个! |
大猫咪
| + 30 |
+ 60 |
+ 30 |
|
加林森
| + 30 |
+ 60 |
+ 30 |
赞一个! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|