替换为
用高亮规则把命中的文字换成别的写法、图片或注音,或者直接删掉,同时套上规则的样式。
「替换为」能做什么
高亮规则除了加样式,还能把命中的文字换掉。换出来的内容同样套用这条规则的样式。
常见用法:
- 「第一百二十三章」写成「第123章」
- 「[笑]」「[哭]」换成表情图片
- 外号上方加注音,比如「小辣椒」上方标「Pepper」
- 「【弹幕】前方高能」只留下「前方高能」,前缀去掉,再套弹幕样式
- 聊天记录里把「老妈:」做成小字说话人,后面的消息做成气泡
只想清理广告、错字,不需要样式时,用 替换规则 更直接。
在哪里设置
打开规则编辑,切到「替换」页签,「替换为」有三种:
- 「不替换」:默认,只加样式
- 「替换成」:在输入框里写替换后的内容
- 「删除」:命中的文字整个去掉
选「替换成」后,输入框下面有一排按钮帮你插入写法:「分组」「角色」「转换」「图片」「注音」「样式块」,窄屏上收在「插入」里;旁边还有「美化」和「AI 改」。下面的「替换结果」会用预览文字算出替换后的样子;写错时这里显示红字「写法有误」,规则也保存不了。
替换后的文字会当作正文,复制、搜索、听书和导出用的都是替换后的内容。
替换生效场景
选了「替换成」或「删除」后,下面多一项「替换生效场景」:
- 「全部」:阅读和听书都替换
- 「仅阅读」:看的时候替换,听书念原文
- 「仅听书」:看到的是原文,听书念替换后的内容
引用命中的文字
| 写法 | 意思 |
|---|---|
$0 | 整个命中的文字 |
$1、$2… | 正则里第 1、2… 个分组 |
$<名字> | 正则里的命名分组 (?<名字>…) |
$$ | 一个 $ 字符 |
分组只有打开「正则」时才有。关键词里写了命名分组,关键词下面会提示「命名分组:…」,点「分组」按钮能直接插入。
示例:去掉弹幕前缀
- 关键词(正则):
【弹幕】(?<msg>[^\n]+) - 替换成:
$<msg>
正文里的「【弹幕】前方高能!!」显示成「前方高能!!」。
转换
点「转换」,先选「转换哪一部分」(「整个命中」或某个分组),再选一种转换:
| 转换 | 写法 | 效果 |
|---|---|---|
| 中文数字转阿拉伯数字 | {1|num} | 一百二十三 → 123 |
| 阿拉伯数字转中文数字 | {1|cn} | 123 → 一百二十三 |
| 截取前 12 个字 | {0|head:12} | 只留第一行的前 12 个字,数字可以改 |
| 转成全角 | {0|full} | 英文、数字、标点换成全角 |
| 转成半角 | {0|half} | 全角的英文、数字、标点换成半角 |
| 字母转大写 | {0|upper} | abc → ABC |
| 字母转小写 | {0|lower} | ABC → abc |
花括号里的第一个是要转换的部分:0 是整个命中,1、2 是分组,命名分组直接写名字(如 {n|num})。几个转换可以接着写,按顺序执行,例如 {1|num|full}。
示例:章号换成阿拉伯数字
- 关键词(正则):
第(?<n>[零〇一二三四五六七八九十百千万两]+)章 - 替换成:
第{n|num}章
「第一百二十三章」显示成「第123章」。
花括号里写的不是上面这些写法时,会原样显示,书里本来就有的花括号不受影响。
角色
关键词用「特殊匹配」里的「角色高亮」(匹配本书角色列表里的所有角色名)时,「替换为」里可以用角色的信息:
{roleName}:角色名{roleAvatar}:角色头像的地址,配合图片使用:<img src="{roleAvatar}" alt="{roleName}" size="text">
点「角色」按钮可以直接插入。
插入图片
点「图片」从「我的图库」选一张图,会插入一段:
<img src="图片编号" alt="" size="text">alt:图片代表的文字。复制、搜索、听书时,图片按这段文字算;不写就只是一个占位size:大小。text和文字一样高(默认),original按原图尺寸,line独占一行class:给图片起个名字,在 CSS 里单独调样式,见 高亮规则样式
除了图库里的图,还可以直接写内置素材的名字,比如 <img src="bell" alt="叮" size="text">,也可以写成 src="builtin:bell"。内置素材随 App 一起安装,内置模板里的装饰用的就是它们:
bubble-pink、bubble-white、tag、scroll、torn、banner、note-card、avatar、gem、bell、pin、sakura、boom、quote-left、quote-right、pencil、ornament、flourish、cap-frame、emoji-smile、emoji-cry、emoji-wow、comment-bubble
示例:表情换成图
- 关键词:
[笑] - 替换成:
<img src="emoji-smile" alt="笑" size="text">
旧版本的 Reeden 不认识这种图片写法,会把它当成普通文字显示。
注音
点「注音」插入 <ruby>$0<rt></rt></ruby>,在 <rt> 和 </rt> 中间写注音:
<ruby>$0<rt>Pepper</rt></ruby>注音显示在文字上方,不算正文:复制、搜索、听书都只用下面的文字。
注音只支持给命中的原文整体加,也就是 <ruby>$0<rt>…</rt></ruby> 这一种写法。下面的文字换成别的内容时,注音会被丢掉,只留下文字。导出 EPUB 时注音不导出。
样式块
点「样式块」插入 <span class="name"></span>。把一部分内容包起来,起个名字,就能在规则的 CSS 里给它单独设样式。
示例:聊天记录里,说话人小字、消息照常
- 关键词(正则,打开「多行匹配」):
^(?!我[::])(?<who>[^::\n]{1,8})[::](?<msg>.+)$ - 替换成:
<span class="who">$<who></span>$<msg> - CSS 里加一段:
.who { font-size: 0.75em; color: {mutedColor}; margin-right: 0.4em; }
.名字 { … } 的写法见 高亮规则样式。
和其他规则的先后
- 「替换为」在简繁转换、替换规则、全文翻译之后执行,关键词匹配的是这些处理之后的文字;替换完才套高亮样式,其他规则的样式匹配的是替换后的文字
- 几条带「替换为」的规则在同一份文字上一起匹配,不会匹配到别的规则替换出来的内容;命中重叠时只有排在前面的规则替换,后面的在重叠处不替换,样式照常叠加
例子和排列建议见 规则生效顺序。
写法限制
- 标签只能用
span、img、ruby、rt - 不支持
style属性,样式写在规则的 CSS 里 - 属性值要加引号;
<span>、<ruby>要有结束标签 - 要写
<、>、&这些字符本身时,写成<、>、&
写错时「替换结果」会提示错在哪个字符,按提示改就行。
Reeden