知事
性别保密
在线时间 小时
最后登录1970-1-1
|
本帖最后由 北冥 于 2014-7-16 20:43 编辑
排版脚本编写求助,手动替换能实现,用脚本出错
我想用脚本分别实现下面的功能(经测试:不用脚本,单独用语句手动替换能正常实现)
目的:
一、 用正则表达式 ·\d+· 替换 空,能删除 ·1· 这类的页码。想在脚本中实现。
二、 用正则表达式 ([一二三四五六七八九十百零○]+)$ 替换为 第\1章 。能实现 把中文数字,如: 一 变为 第一章 。想在脚本中实现。
三、用正则表达式 第([一二三四五六七八九十百零○])部 替换为 第\1章。 能把 第一部 变为 第一章 。想在脚本中实现。
上述三个功能不想一次全部替换,想写成脚本,按需要有选择性的替换某一项。未能实现。
目前我写的脚本语句如下:
****************************
menu= CreatePopupMenu();
标题 = CreatePopupMenu();
排版= CreatePopupMenu();
if (document.selection.isempty)
nFlags=eeFindNext | eeReplaceAll | eeFindReplaceRegExp;
else
nFlags=eeFindNext | eeReplaceSelOnly | eeReplaceAll | eeFindReplaceRegExp;
menu.Add( "北冥自用脚本", 1 );
menu.Add( "", 0, eeMenuSeparator );
menu.AddPopup( "标题", 标题 );
标题.Add( "中文数字加 第章", 2);
标题.Add( "第X部改第X章", 3);
排版.AddPopup( "排版", 排版);
排版.Add( "删除·1·类页码",5);
result = menu.Track( 0 );
switch(result){
case 1:
alert("北冥自用脚本:)");
break;
case 2: //中文数字加 第章
document.selection.Replace("([一二三四五六七八九十百零○]+)$","第\1章",nFlags);
break;
case 3: //第X部改第X章
document.selection.Replace("第([一二三四五六七八九十百零○]+)部","第\1章",nFlags);
break;
case 5: //删除·1·类页码
document.selection.Replace("·\d+·","",nFlags);
default:
}
******************
运行脚本后的问题:
一、只能显示标题和标题下面的两个功能,不能显示排版的选项。
二、运行标题的两个选项,都是替换成“第 章” ,中间的数字不会显示。
恳请达人指点,因第一次试着写脚本,非常想用脚本解决手动替换的麻烦。不知道问题出在哪里。谢谢!
|
插件设计: zasq.net
|