V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bigtang
V2EX  ›  分享创造

文字处理小功能:为小标题或任意关键词添加连续序号

  •  
  •   bigtang · 23 天前 · 657 次点击
    Word 有连续编号功能,标题,公式,图表的序号可以设置连续编号,一旦中间删除或插入新的,后面的序号会自动变化。

    我这儿提供的这个功能,不是这个思路,是通过正则表达式定义,为某类关键词批量添加或修改为连续序号,更加灵活,但是需要一点正则表达式知识。

    举例:原文如下,想在每行最前面加上需要“一,”,“二,”,“三,”等。

    AAA
    BBB
    CCC
    DDD
    EEE
    ...

    操作如下:
    在唐库编辑界面,点击“全局内容替换”按钮,输入如下信息,如图所示:


    下面挨个解释:

    \n(?<indexcn>$*)([A-Z])
    这是要查找的源字符串,是正则表达式。\n 表示换行符,(?<indexcn>$*)第 1 个捕获组(用小括号括起来的内容叫做捕获组或匹配组,带名称的捕获组格式为(?<name>...)),indexcn 是捕获组的名称,在唐库中有特殊含义,即返回该匹配的中文序号,$ 表示行尾符号,* 表示前面的字符 0 ~多个,$* 目的是想匹配空串,因为捕获组中必须有匹配内容,不能不写(格式要求),这个捕获组匹配空串但是能返回中文序号。([A-Z]) 为第 2 个捕获组,[A-Z] 表示 A-Z 中的任意大写字母。

    \n$@1 ,$2 要替换的目标字符串,\n 表示换行符,$@1 表示第 1 个捕获组运算后的结果($1 表示第 1 个捕获组匹配的内容,是空串,$@1 与$1 不同),即 indexcn 返回的中文小写,$2 表示第 2 个捕获组匹配的内容。

    点预览替换,可以看到原串,目标串的内容,红字表示匹配部分,点击替换,关闭对话框刷新,文章结果如下:

    一,AAA
    二,BBB
    三,CCC
    四,DDD
    五,EEE
    ...

    如果不想从一开始,从三开始,如何做呢?
    将 indexcn 替换为 indexcn_3 (注意是英文下划线)

    如果序号用阿拉伯数字 12345 ,如何做呢?
    将 indexcn 替换为 index

    唐库支持的命名不仅仅只有 index ,indexcn ,还有:

    toupper (将捕获内容转为大写)
    tolower (将捕获内容转为小写)

    例如:



    注意:“ (?<toupper>[a-z])” 和 “ $@1” 最前面都有一个空格符号。

    唐库的查找替换还有更强大的功能,与 AI 结合,可以让 AI 做各种分析,例如批量生成标题,生成简介等等。

    唐库:tanglib.com

    注:唐库是个网站,只能生成网页或导出纯文本。
    1 条回复    2024-04-09 16:12:48 +08:00
    unii23i
        1
    unii23i  
       21 天前
    码一个,感觉有需要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2309 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 03:25 · PVG 11:25 · LAX 20:25 · JFK 23:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.