8 一只猫闯江湖 10个月前 288次点击
朋友们你们好啊!好久没有跟社区的朋友们互动了,这不,最近有一个功能特别火,叫朗读修正,我也在玩,但是被我给玩坏了,而且爱说笑,也被我给改的一塌糊涂。接下来让你们听听怎么回事儿呢?但是有些字可能不让发,我给你们描述一下我是怎么改的?
但是这个东西只对点名有用,天坦的可以自行设置,怎么回事儿呢?房间被我改成了厕所,坐席被我改成了马桶,还有一些主播礼物也被我给改的乱七八糟的,后面有些敏感词都不用我说,你们也懂得怎么回事,
有可能我这个帖子会被管理员删掉,大家就当开个玩笑吧,算了,我也不想说什么了,欢迎大家来评论和点赞吧,
哈哈我这个改的更好玩。我把天坦改成了地狱。*改成了支声。所以天坦*就叫地狱之声。百宝箱改成了回收站。所以天坦百宝箱就叫做地狱回收站。把微信改成了鬼聊把短信改成了递府通知。把电话改成了地狱通话。把设置改为了地狱核心。哈哈真好玩。
我敢说你真是个人才
我把系统桌面改成桌面,盖览改成app切换器,音效再换成旁白的那个音效,以隐藏屏幕画面改成不连屏已打开,把语音库也改成苹果语音库,已显示屏幕画面改成不连屏已关闭,天坦读屏改成旁白,密码与安全改成面容ID与密码,正在编辑xxx编辑框改成,正在编辑,文本栏xxx,那个是用正则表达式替换的,所以可以匹配任意字符,然后把已选中改成已选定,未选中改成未选定,已勾选改成已选中未勾选改成未选中
好奇用正则表达式怎么写要修改的东西
首先点更多设置,然后再点朗读替换,然后点添加,然后再点开启正则表达式,然后再点正则表达式使用,说明里面就有
Ok
文本替换之正则表达式
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。通过正则表达式,我们可以完成一些高级的文本替换。
一:简单的使用方式
以微信聊天中“与 用户昵称 的聊天”为例,开头的“与”和结尾的“的聊天”为固定文本,而中间的用户昵称是会随着你进入不同的聊天会话界面而变化的,那么我们如何通过正则表达式来匹配呢?以下为具体的表示式:
与(.+)的聊天
注意:表达式中涉及到的符号必须为英文符号,所有涉及到正则表达式的内容建议大家使用字符进行浏览,避免符号漏读,导致表示式错误。
核心就是当中的(.+),它的涵义是代表任意字符,言外之意它可以匹配任意字符,所以大家只要简单的记住这串字符,就可以用在自己想要替换的文本当中。例如在鸿蒙系统桌面上,会提示”应用名称,双指上滑显示服务卡片“,我们可以通过以下表达式进行匹配:
(.+)双指上滑显示服务卡片
上方的表达式即匹配了华为桌面双指上滑显示服务卡片的文本。上述两个例子我们需要的都是将变化的内容保留,将固定的内容剔除,所以在替换后的文本当中自然就无法使用固定的文本内容进行替换了。那么我们如何来表示替换的结果呢?其实也很简单,将下方的字符填入替换后的文本即可:
$1
注意:涉及到的符号必须为英文符号。
简单的理解,$符号是一个判断的标志,数字1代表第一个可变化的内容,两个例子当中都只有一个可变化的内容,所以用$1表示即可,如果在替换的文本中定义了多个可变化的内容,使用$1$2$3从左往右依次递增即可。
综上:在替换文本的编辑框中使用(.+)代表任意字符,在替换后的文本编辑框中使用$1或者固定的文本表示替换后的内容。
二:正则表达式基本知识
1. 如果直接给出字符,就是精确匹配。
•
用
\d
可以匹配一个数字
•
用
\w
可以匹配一个字母或数字
•
用
.
可以匹配任意字符
所以:
'00\d'可以匹配'007',但无法匹配'00A';
'\d\d\d'可以匹配'010';
'\w\w\d'可以匹配'py3';
'py.'可以匹配'pyc'、'pyo'、'py!'等等;
2. 要匹配变长的字符
•
用
*
表示任意个字符
(包括0个),
•
用
+
表示至少一个字符
,
•
用
?
表示0个或1个字符
,
•
用
{n}
表示n个字符
,
•
用
{n,m}
表示n-m个字符
:
来看一个复杂的例子:\d{3}\s+\d{3,8},我们来从左到右解读一下:
1.\d{3}表示匹配3个数字,例如'010';
2.\s可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ',' '等;
3.\d{3,8}表示3-8个数字,例如'1234567'。
综合起来,上面的正则表达式可以匹配以任意个空格隔开的带区号的电话号码。
如果要匹配'010-12345'这样的号码呢?由于'-'是特殊字符,在正则表达式中,要用'\'转义,所以,上面的正则是\d{3}\-\d{3,8}。
但是,仍然无法匹配'010 - 12345',因为带有空格。所以我们需要更复杂的匹配方式。
三:进阶
要做更精确地匹配,可以用[]表示范围,比如:
•
[0-9a-zA-Z\_]
可以匹配一个数字、字母或者下划线;
•
[0-9a-zA-Z\_]+
可以匹配至少由一个数字、字母或者下划线组成的字符串,比如
'a100'
,
'0_Z'
,
'Py3000'
等等;
•
[a-zA-Z\_][0-9a-zA-Z\_]*
可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;
•
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}
更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'。
^表示行的开头,^\d表示必须以数字开头。
$表示行的结束,\d$表示必须以数字结束。
你可能注意到了,py也可以匹配'python',但是加上^py$就变成了整行匹配,就只能匹配'py'了。
我现在只会用第一个朗读替换,后边我都不会用
哦,这样我去试试
哈哈,我改的更奇葩呢。礼物有些叫卫生纸,还有一些叫粑粑大礼包。甚至还有一张卫生纸,10张卫生纸,一小包卫生纸等等等等。还有抢粑粑。
你真是个人才呀
听说你把什么玩意儿改成了卫生纸来着