马黑黑 发表于 2021-9-2 09:15

猪猪再也不用吃屎了

昨天去接人,提前去了,车又晚点,有些闲暇时间。不做低头族并拒绝发呆的俺,就半闭着眼睛养神(随时捕捉眼前路过的靓丽的风景),顺带思考猪吃屎的严肃问题。

脑子里闪现全拼切割的结构: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+"'", "\t"+py_ar+"'", eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
        document.selection.Replace("'"+py_ar+"$", "'"+py_ar, eeFindReplaceEscSeq | eeReplaceAll | eeFindReplaceRegExp,eeExFindSeparateCRLF);
}

红影 发表于 2021-9-2 09:44

恭喜黑黑灵机一动又想出新的字符串替代方案{:4_187:}

红影 发表于 2021-9-2 09:48

对这种程序不熟,看着好复杂啊。ee是什么,看出现了好多次。

红影 发表于 2021-9-2 09:49

就半闭着眼睛养神(随时捕捉眼前路过的靓丽的风景),顺带思考猪吃屎的严肃问题。
一心二用还能想出解决方案,这也太牛了吧{:4_170:}

马黑黑 发表于 2021-9-2 09:57

红影 发表于 2021-9-2 09:48
对这种程序不熟,看着好复杂啊。ee是什么,看出现了好多次。

ee,EmEditor宏的属性和方法,帮助文档里都有,我从那里找到的

马黑黑 发表于 2021-9-2 09:59

红影 发表于 2021-9-2 09:44
恭喜黑黑灵机一动又想出新的字符串替代方案

用纯 JS 也是可以的,只是不想折腾太多,就在 EmEditor 里弄弄。EmEditor里纯 JS 替换运行的效率比 EmEditor 的宏方法低一些,两者结合,各取所长,效果还不错。

红影 发表于 2021-9-2 10:18

马黑黑 发表于 2021-9-2 09:57
ee,EmEditor宏的属性和方法,帮助文档里都有,我从那里找到的

原来是特定的设置语言。黑黑好学{:4_204:}

红影 发表于 2021-9-2 10:19

马黑黑 发表于 2021-9-2 09:59
用纯 JS 也是可以的,只是不想折腾太多,就在 EmEditor 里弄弄。EmEditor里纯 JS 替换运行的效率比 EmEdi ...

黑黑已经把这些玩得都很纯熟了,才会有这样的结合。赞一个{:4_199:}

马黑黑 发表于 2021-9-2 11:02

红影 发表于 2021-9-2 10:19
黑黑已经把这些玩得都很纯熟了,才会有这样的结合。赞一个

都是尝试出来的吧

红影 发表于 2021-9-2 11:10

马黑黑 发表于 2021-9-2 11:02
都是尝试出来的吧

这样的尝试带来了功力的不断提升。{:4_204:}

马黑黑 发表于 2021-9-2 11:15

红影 发表于 2021-9-2 11:10
这样的尝试带来了功力的不断提升。

有些东西是一通百通吧。系统学过一门语言的,接触另一门的时候,只要给他一个手册,它就能用这门新语言做个项目。

加林森 发表于 2021-9-2 20:15

老黑是边看美女边思考吧!

红影 发表于 2021-9-2 20:30

马黑黑 发表于 2021-9-2 11:15
有些东西是一通百通吧。系统学过一门语言的,接触另一门的时候,只要给他一个手册,它就能用这门新语言做 ...

也需要对这些感兴趣,否则是不会投入的。

马黑黑 发表于 2021-9-3 12:39

红影 发表于 2021-9-2 20:30
也需要对这些感兴趣,否则是不会投入的。

那是自然。最近有个跟班的,人挺聪明,学的东西也多。工作层面,有些它是没有接触过的,甚至都没听说过,但我一解释或提出要求,他都能顺利完成。这得益于他的博学,更得益于他对工作的热爱。

马黑黑 发表于 2021-9-3 12:41

加林森 发表于 2021-9-2 20:15
老黑是边看美女边思考吧!

队长啥事都知道

红影 发表于 2021-9-3 16:24

马黑黑 发表于 2021-9-3 12:39
那是自然。最近有个跟班的,人挺聪明,学的东西也多。工作层面,有些它是没有接触过的,甚至都没听说过, ...

是的,主动要学习的,和被动完成任务式的学习,效果肯定不一样。恭喜黑黑收了个好徒弟。

马黑黑 发表于 2021-9-3 18:36

红影 发表于 2021-9-3 16:24
是的,主动要学习的,和被动完成任务式的学习,效果肯定不一样。恭喜黑黑收了个好徒弟。

也不是徒弟,就是随便跟跟,最多算得上半个徒弟吧。

加林森 发表于 2021-9-3 19:39

马黑黑 发表于 2021-9-3 12:41
队长啥事都知道

当然{:4_189:}

大猫咪 发表于 2021-9-3 19:48

跟着老黑学习 {:4_190:}

马黑黑 发表于 2021-9-3 20:32

大猫咪 发表于 2021-9-3 19:48
跟着老黑学习

感谢支持
页: [1] 2 3
查看完整版本: 猪猪再也不用吃屎了