分享一条朗读替换规则,用于过滤浏览QQ群文件时的一些冗余播报

40 精华 今梦 6个月前 895次点击

Hello大家!

平时有没有经常浏览Q群文件的习惯呢,我经常浏览一些Q群的文件,偶尔还能发现不少宝藏!

在浏览过程中,也是发现一些小问题,无论浏览单个文件还是浏览创建好的文件夹,开头都会多朗读一个 “文件夹xxxx” 或者 “文件xxxx”。这样的小尾巴是不是有时候挺烦人的呢?

说是分享,其实也是讲讲自己测试的一个思路。蹒跚学步,有讲的不对的地方,欢迎大家及时指正哈!

好的,接下来我们解决问题,先说需求:这里我们主要是想过滤开头的“文件”或者“文件夹”这两个小尾巴,并且当摸到单独的“文件夹”三个字时不希望被替换为空,若一段话的中间包含这三个字也不希望被替换。

基于以上要求,大家可以拿起手机边看边自己尝试写一下,翻阅了一下天坦读屏正则表达式的使用规则,我们可以得到这样的一个表达式写法:

(注意)以下表达式中所运用到的符号均为英文符号,为方便查看,浏览下方文字时,请将导航菜单切换至字符浏览,以确保大家浏览到的表达式符号是正确的。

(.+)

首先是“()”英文左右小括号,它在正则表达式里面的作用有两种:

一种叫做分组,大概的意思是将表达式的一部分括在括号中,把括号内的看作是一个整体来处理;

另一种叫做捕获组,补货组的意思,我的理解是将括号内的文字保存起来,以便后续使用。

“.”

好的,接下来是英文的句号,英文句号在正则表达式中表示匹配任意一个字符(不包括换行符),大家可以理解为,它是一个通用的匹配符号,它可以代表任何一个字。

“+”

接下来是加号,主要作用是匹配前一个字符的一个或多个实例。即表示紧随其前的表达式可以出现一次或多次。很绕是不是!?讲真,我也没有太理解,举个例子,+可以匹配“a”出现一次或多次,但不能匹配不包含“a”的字符串。

“$”

美元符号的主要作用,我的理解是匹配一段字符串的结尾;以及反向引用捕获组内的文本。

大概明白了以上规则之后,我们开写:

首先我们打开天坦读屏->更多设置->朗读替换->启用朗读替换->右上角添加->在添加朗读替换页面,先找到使用正则表达式的开关并双击开启;点击测试正则表达式;在第1个文本框里,我们输入以下规则:

文件夹(.+)

在第2个文本框里输入:

$1

大家可以在第3个文本框里输入用来测试正则表达式是否生效的文字,比如我这里输入:

文件夹天坦读屏

我们点击测试,大家会发现,替换后的文本直接为空了,这里我自己在尝试写的过程中,也没搞清楚为什么!不过这不重要啦!

我们直接在(.+)前面加个?英文问号

“?”

英文问号在正则表达式中表示匹配零个或一个字符。

为了保证替换后的文本不再为空,我们还需要再加一个符号:

“^”

拖字符号的主要意图是用于匹配一段字符串的起始位置,也就是匹配一段文字的开头部分。

我们直接把它放在文件夹的前面,好的,我们再来写一下:

^文件夹?(.+)

$1

直接点击测试,我们成功的把“文件夹天坦读屏”替换为“了天坦读屏。”

在这段正则表达式的事例中,为了防止贪婪匹配,将脱字符号“^”放在“文件夹”的前面,以防止下面这种情况:打开文件夹 后面的“文件夹”被误匹配,导致只剩打开两个字的情况发生。同时为了防止多次匹配,我们再加一个“?”英文问号,使其只能匹配零次或一次,从而避免了类似于 “文件夹文件夹文件夹”通通都会被过滤掉的尴尬;并且,无论是以“文件”还是“文件夹”开头,通通都能匹配,当单独触摸到文件夹或文件这个字符时,不会被匹配,从而完美的解决了QQ朗读文件名称前的小尾巴。

虽已尽量用规则将物匹配降到了最低,但大家真正使用时,还是建议在新建朗读替换时,将需要朗读的应用选择为自定义并范围只选定QQ或极个别有类似情况的应用。

【以下表达式,大家可直接拷贝后,粘贴在相应文本框内】

测试完成后,我们直接打开天坦读屏->更多设置->朗读替换->添加,在输入要替换的文本的编辑框中填写

^文件夹?(.+)

在第2个编辑框,输入替换后的文本

$1

打开下方的启用正则表达式开关,点击保存。至此,大功就告成啦!

文章有点长,感谢你能看到这里,希望能对你有一点点帮助!

共 79 条评论
白羽 6个月前
0 

非常好用,感谢楼主啦。

向往明天 6个月前
0 

感谢楼主哈

千里冰封 6个月前
0 

感谢分享

大诚 6个月前
0 

哼好好好,必须给你点个赞

九天狂魔 6个月前
0 

赞赞赞

藏龙卧虎 6个月前
0 

感谢分享!

月色 6个月前
0 

感谢分享

心无尘 6个月前
0 

来支持一波哈。

刚柔并济 6个月前
0 

666

心无尘 6个月前
0 

我实在是无心折腾这正则,用的都是别人写的咳咳。

今梦 [楼主] 6个月前
0 

哈哈哈,其实我大多数也是抄的,抄着抄着就略懂一些了

心无尘 6个月前
0 

嗯嗯,看看到寒假时,我能不能找几天时间好好研究一下吧,平时看着就脑壳疼。

今梦 [楼主] 6个月前
0 

学起来哈哈

暖乡 6个月前
0 

爱,虽然你说的很详细,让我看的也是一知半解,基本上没怎么看懂。

今梦 [楼主] 6个月前
0 

你可以先不去管这个表达式是怎么实现的,先看看自己能不能把它拿下来改一改,比如有些地方的冗余提示和我上面提到的例子有点类似,只不过文本不一样,那你可以试着改文本。我一开始就是这么学会的。

童话 6个月前
0 

我直接添加朗读、修正,我没有选择特定的应用直接选择的所有应用会不会在使用中有任何影响呢?

今梦 [楼主] 6个月前
0 

有的,所有以文件或文件夹开头的文本都会被过滤掉文件或文件夹,从而读起来就会很怪异。

童话 6个月前
0 

那这个的话我只能在QQ群里面用。

今梦 [楼主] 6个月前
0 

不过其实问题倒是也不大,毕竟以文件或者文件夹这几个字开头的文本很难遇到

童话 6个月前
0 

那我要不然就不管他,就选择所有应用,然后我就什么都不用做的,但是有一个情况就是假如我给别人发消息让别人找到文件夹天坦读屏,然后我这边读的就很怪异。

今梦 [楼主] 6个月前
0 

是的,除非这几个字包含在一段文字的中间就没事,或者单独遇到也没关系,不能在一段文字的开头就不会被过滤。

童话 6个月前
0 

酷狗音乐K歌里面搜索的歌曲有一个冗余提示,酷狗音乐 修炼爱情 林俊杰 - 专辑《因你 而在》 61.6万次演唱 4.38M。酷狗唱唱斗歌版的点歌里面搜索出来的歌曲也有这个冗余提示,斗歌 修炼爱情 林俊杰·专辑《因你 而在》 451 4.38M。这个怎么让它屏蔽掉?

今梦 [楼主] 6个月前
0 

还是我那条正则表达式,你新建一条把我那个复制过去,然后把前面的文件夹三个字删掉,改成你要过滤掉的文本,替换就可以了

童话 6个月前
0 

这个替换好了,在酷狗唱唱斗歌版里面朗读的还是有点怪异。比如说我现在是已选中 娱乐,左下角的标签是。斗歌,然后摸上去就很怪异。

心灵亮光 6个月前
0 

你要屏蔽前面的还是后面的是多少个字的?

今梦 [楼主] 6个月前
0 

他的要求大概是在酷狗音乐内浏览歌曲时,每首歌曲的前面都会朗读一个“酷狗音乐”的小尾巴,他将酷狗音乐用规则屏蔽掉之后,遇到酷狗音乐开放平台这个窗口标题时,酷狗音乐也会被屏蔽掉,导致只剩开放平台这几个字,他希望这里可以朗读完整。这个我想了想,应该是搞不定。

今梦 [楼主] 6个月前
0 

你先把这条修正关掉,然后你把朗读的整个文本复制过来我看一下

童话 6个月前
0 

斗歌

空灵 6个月前
0 

这么说的话 在同花顺自选股票里面 读完股票名称以后会有一串井号井号井号这一个就可以过滤掉了吗 求解答 这个确实很困扰我 新版本的朗读替换有这个功能的 那还真是得研究一下

今梦 [楼主] 6个月前
0 

冗余提示每次都是固定的嘛

空灵 6个月前
0 

是的 选择每一只自选股以后都会先读股票名称 然后就是美元美元美元井号井号井号 然后才会说价格

多多快板 6个月前
0 

好经验,支持大神

童话 6个月前
0 

就只有两个字。

今梦 [楼主] 6个月前
0 

原本应该怎样读哈

童话 6个月前
0 

直接上录屏

今梦 [楼主] 6个月前
0 

呃,没太理解你的用途,你是想把“斗歌”这两个字屏蔽掉是吗

童话 6个月前
0 

我是说在搜索歌曲的时候,每首歌曲前面的斗歌两个字把它屏蔽掉,而不是左下角的那个标签也读的很奇怪。

今梦 [楼主] 6个月前
0 

这个就很难判断了

童话 6个月前
0 

除了这个问题,那个酷狗音乐的就是进去这个软件之后读的也挺奇怪的,然后那个酷狗音乐开放平台,他只读开放平台4个字,我的意思也是想在K歌里面搜索歌曲的时候,把前面酷狗音乐4个字的冗余提示给屏蔽掉。

童话 6个月前
0 
童话 6个月前
0 

这搞得把不该屏蔽的内容也给屏蔽了。

今梦 [楼主] 6个月前
0 

你把前面的英文问号删掉试一下

童话 6个月前
0 

删掉之后问题解决了,但是那个酷狗音乐开放平台,还是读开放平台。

今梦 [楼主] 6个月前
0 

你是要把“酷狗音乐开放平台”全部屏蔽掉吗,单独屏蔽酷狗音乐肯定会造成bug的,没办法的

童话 6个月前
0 

如果没办法,那我就让她读开放平台,算了,本来他那个正常读法是酷狗音乐开放平台。

今梦 [楼主] 6个月前
0 

那你就把这条删掉吧,不要额外做屏蔽了

童话 6个月前
0 

已启用,^酷狗音乐(.+) 替换为:$1,这样应该就可以了,就只会读修炼爱情林俊杰专辑因你而在,就没有前面的酷狗音乐这4个字的冗余提示。然后如果是单独的酷狗音乐这4个字也会读出来,而不会乱读,这样的话就一切搞定。但是遇到酷狗音乐开放平台这几个字的情况下,他只会读开放平台,前面酷狗音乐4个字就被屏蔽了,我不想这个样子,是不是没有办法。

今梦 [楼主] 6个月前
0 

那可以做一个字数的限制,这个正则比较复杂,我不太会,你可以问一下上面的小伙伴,心灵亮光

心灵亮光 6个月前
0 

是不是每一首歌后面都有个M

童话 6个月前
0 

不是的,那个后面的多少M那是文件大小。

心灵亮光 6个月前
0 

是不是每首音乐个文件的大小都会出现,这样应该有办法。

童话 6个月前
0 

在酷狗音乐内浏览歌曲时,每首歌曲的前面都会朗读一个“酷狗音乐”的小尾巴,用规则屏蔽掉之后,遇到酷狗音乐开放平台这个窗口标题时,酷狗音乐也会被屏蔽掉,导致只剩开放平台这几个字,希望这里可以朗读完整。

心灵亮光 6个月前
0 

酷狗音乐(.+M)

童话 6个月前
0 

OK了好了,我刚刚去试了一下,所有的问题全都搞定。

今梦 [楼主] 6个月前
0 

大佬请教一下,我这正泽还有一个致命的bug,单独遇到文件管理这4个字儿也会被过滤,前面的文件两个字还是会有些小缺陷。以前设想是弄两个锚点,例如起始点用文件夹,结束点用QQ里固定的文本。如文件QQ,xxx年来自张三,那么用来自这俩字儿作为结束,但尝试写了一下,实现不了。

心灵亮光 6个月前
0 

你是说qq的群文件吗?

整一条消息是怎样的?

今梦 [楼主] 6个月前
0 

群文件有两种

文件夹 实用工具 12:27 共58个文件

文件 刀剑音效.tszip 昨天 来自M16 307.4K

心灵亮光 6个月前
0 

你之前怎样写的?

今梦 [楼主] 6个月前
0 

^文件夹?(.+)

$1

心灵亮光 6个月前
0 

奇怪了,你发过来这两条是可以匹配的,但是到了群文件里面又不行了。

今梦 [楼主] 6个月前
0 

是的,我研究了个方法,是这样子

^文件夹?(.+)[来自$]

$1

心灵亮光 5个月前
0 

这方法可以了

今梦 [楼主] 5个月前
0 

我测试的时候没问题,但在QQ上还是会有个bug,来字 这两个字会被吞掉其中一个,导致读起来会变成,

天坦读屏八版本发布会录音回放2.mp3

11-09 来张三 27.2M

心灵亮光 6个月前
0 

酷狗音乐(.+M)

心灵亮光 6个月前
0 

试一下。

谢谢分享

空灵 6个月前
0 

扬帆新材#300637 扬帆新材#300637#--#-7.30%#10.41#10.41#-7.30%#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#--#33#2097152# 就是这种提示

心灵亮光 6个月前
0 

在一个方括号里面加上井号和减号。

空灵 6个月前
0 

朗读替换里边我加了一个井号 测试完了根本不管用 需要替换的文字空 和随便填一个都不管用

心灵亮光 6个月前
0 

[#-]

第1个编辑框写上面这4个。第2个编辑框写个空格或者逗号。把正则表达式勾选上。

空灵 6个月前
0 

这样确实可以过滤到这个符号 谢谢 只是还是不能做到直接去读完股票名称就直接读价格的要求

心灵亮光 6个月前
0 

价格是7.38这个吗

心灵亮光 6个月前
0 

试下这个

([\u4e00-\u9fa5])#.*#(\d{1,2}\.\d\d)#.*

第2个编辑框写$1$2

落日菜鸡 4个月前
0 

可可好像没有怎么理解捕获组是什么意思。

今梦 [楼主] 4个月前
0 

可以理解为括号内的,字符,例如我写了一个正则表达式是这样的:(.+)双指上滑查看服务卡片,括号内的表示需要保留,括号外面的文字则表示需要过滤掉,可以把括号内的内容看作是捕获组,如果一段文本是微信双指上滑查看服务卡片,那么(.+)这个捕获组,可以用来表示微信这两个字需要保留,在括号的外面写上不需要的文本,比如双指上滑查看服务卡片,保存之后就可以将后面的文本过滤掉。

落日菜鸡 4个月前
0 

好的,明白了。

落日菜鸡 4个月前
0 

谢谢

好难呀。

疑云后山 4个月前
0 

哇塞,真的好用。

添加一条新评论

登录后可以发表评论 去登录