00:00
好,接下来的话呢,我们再看这个PPT呢,还有一波方法。这个其实我们很少说,讲一些结构呢,会把它这里边方法讲的这么丰富的啊,此类呢,应该算其中一个啊,当然我们也没有全讲,还是讲的这个频率稍微高一些的,这呢提到了叫replace,涉及到叫替换啊replace这个呢叫match,这个叫split,那把这些结构呢,我们也是啊,拿过来CTRLC。CTRLV一下。这是一波把这个呢,我们就都拿过来吧,CTRLC。Match,这涉及到这个叫匹配,哎下面呢,涉及到这个叫哎替换,这个用不着写它了啊。诶后边呢,还有一个叫split,相当于做一个这个切片啊。
01:01
行,那我们来看一下。三有三了,应该是。嗯,首先呢叫replace replace这里边呢,我们先关注一下前两个,第一个呢叫replace,将原有字符串当中的一个O叉改成一个新的叉,这是相当于替换字符的,这个呢是差sequence典型的它的实现类呢就是string,那我们可以把这个诶调这个方法的字符串当中的某一个指定的字符串啊,换成一个新的字符串,就相当于你不管可以替换一个一个的字符,我可以替换好几个字符构成的这个串了啊来测试一下string st21等于这呢,比如我们写一个叫。嗯,北京上硅谷啊,教育行,然后呢,Str一点做一个replace old叉改成新的叉,这是一个叉啊,比如把这里边这个北。
02:13
北北这北啊,改成一个,改成个东吧,东京按说也应该是中国的是吧。中国现在东京南,呃,这个这个什么南京北京西京好像也有这地儿是吧?对,是不是就差东京了,哎,Replace啊replace,然后al enter返回一个STR2好,这时候呢,我们去输出一下,其实咱们讲这个不可变性的时候提过这个事儿。成我们做了一个替换,这时候我为了更好的测试,我北京在这个位置呢,我再写一个,大家看一下是替换一个还是替换多个啊。
03:02
北改成东,这HR1HR1会不会变呢?不会,那H2呢,就是你返回的这个值呢,是变的,那把所有的原有的字符串当中出现的北全改成东,那这个样子的。这个很好理解,这个咱们也是说了好多遍了,就是这块呢,体现的都是这个string的不可变形啊,嗯,就是你调离方法,你返回的是变以后的,我本身这个呢是没有变的啊,这个要注意一下,这个呢是替换了一个字符,嗯也可以呢,嗯,再去替换这个字符串。我呢用str1.replace,咱们调这个方法,这呢你可以把这个北京,哎逗号逗号这个咱们改成比如上海。诶,这个样子,我这个里边呢,有两个北京啊,你就看这块呢,替换的一个情况,哎,还是我们CTRL1接收为一个新的啊,CTRL1是是eclipse里了是吧,Al enter it23好,嗯,这个ITR1呢,我就不打印了啊,那很显然是没有变的s out sr3。
04:21
那这上海还是上海就都做了这样的替换了啊,那在这个北京前面,我这就加一个北。那替换受影响不?其实不受啥影响,就是你这个该把北京替换就替换是吧,前面有北那也没啥啊,只不过你上面这个,呃,这个这个对于上面这个来讲,你有两个北了,那我就替换两个东。哎,就这样行,这个呢替换,嗯比较好理解啊,给这个去一个吧,嗯,看着稍微好看一点啊,嗯,这是呢叫replace,大家呢需要呢去操作咱们字符串说我做一个替换的时候呢,你就可以来用这个replace的方法,后边后边呢这叫replace or。
05:08
Replace first都是字符串,都是字符串啊,然后呢,这个叫match split,你看这里边儿有个这样的结构是吧?啊,这个呢,其实是一个全称叫regular expression。啊,正则表达式这呢,咱们讲基础呢,就不给大家去讲这个正则了,后边呢,咱们讲到web,呃,写页面的时候呢,我们可以去讲一讲这个正则的情况啊,暂时呢,咱们就先不讲了,但是呢,这块又涉及到这个方法,所以呢,咱们就简单的来看一看,我这呢把这个代码呢就写好了,咱们拿过来让大家看一眼就可以啊CTRLC,那不妨呢,我就写到这个下面了。好,这样子啊CTRLV啊粘过来这个呢,我们看一下,我呢写了一个字符串是长这个样子的,然后呢,我这呢叫replace or,就是用的咱们刚才说的这个方法,这个replace or呢,这块位置写的是一个字符串了啊,当然这个字符串呢,其实它是写的一个正则表达式,这个正则表达式呢,表示的意思就是,呃,这个D呢是数字啊,数字呢加就是可能会有一个或多个数字,那如果呢,你要出现了是数字的情况,我就把它做的做一个替换,替换成谁呢?替换成个逗号,嗯,替换成逗号,然后这不就相当于又返回了。
06:31
啊,又返回的这个字符串,所以呢,你会看到我点完以后,后边又点了一下啊,这个暂时呢,咱们可以先去掉这个,我可以先去掉一下,去掉以后大家先看下这个结果,哎,这呢不就相当于我们把这个原来有这个数字的位置呢,都换成这个逗号了,所以这不就长成这个样子了。对吧,诶变成这样以后,我们在CTRLZ一下啊,把刚才那个给它补出来,在返回的这个数据的基础之上呢,我又做了一个replace or说呢,这个监括号呢,表示是一个开头的意思,如果你开头有逗号,或者你的这是结尾的意思哈,有逗号,那我就把它们都去掉。
07:17
就是相当于把开头的这个逗号和结尾的这个逗号呢,就都给它抹掉了,那抹掉以后他做了一个输出。哎,这不就长成这个样子了吗?啊,这就是用了一下这个正则的这个操作啊,哎,具体的话呢,这个诶每一个符号表示什么意思,咱们就先暂时呢,不详细的给大家去展开了,这样一说的话呢,这得正得讲正经的讲这个一节多课呢是吧,或者讲的更详细点的时间就更长了啊那接着下边CTRLC。再来车。嗯,这呢,我这个it tr,我不妨我就这样子了啊哎,还用这个it tr呢,相当于重新给指定了个值,嗯,这儿呢,咱们来测试一下,这个叫呃这个match了,就是下边这个涉及到这个,呃这个first这个我就就不测了哈,就是把给定的这个replacement,呃只替换第一个,上边这个呢是只要有就都替换,这呢只替换第一个啊这就不错了,这个呢叫matches匹配啊,就是匹配一下给定的这个正则表达式,比如说比如说呢,我们这儿呢,输入了一个电话号码啊啊先看这儿了啊,比如这儿呢,我写的是12345 12345,我这儿呢,就判断你是不是数字全是数字加呢,表示可能会有多个了啊,是不是全是数字,说白了。
08:42
啊,你要是的话,那就是true,不是那就是false了。这是匹配呢,专门匹配数字的,这个呢,就是来匹配一下,呃,用户输入了一个电话号码,我看一下他输入的这个格式啊,对不对,嗯,然后这块我们匹配的要求说你得是0571开头的,这是杭州的一个号,然后后边呢,有七到八位的,这个得是数字,嗯,因为电话号码呢,通常座机不是七位的,就是八位,哎,我们就可以做这样的一个限制。
09:07
哎,大家呢,你会发现你真正这个去注册的时候呢,有的时候像电话号码啊,你写多了,它提示你说这个不符合电话号码的格式要求,就是因为它用政策匹配了啊,有的呢,你写了一个邮箱,像以前的时候这个,呃,多注册几个号就乱写啊,乱写的时候你发现也没有验证啊,后来呢,你要乱写,他就提示你说你这不是一个邮箱的一个。规则的一个地址。啊,邮箱呢,通常前面有一个名字,一个艾特符号,后边呢,就是有一个什么点com啊诶等等的这样的一些格式,诶它可以呢,通过正则去校验你这个字符串呢合不合规啊,就相当于调的这个叫matches匹配啊,啊你有了七到八位是数字的啊这呢咱们1234567,这是七个啊。哎,那么目前这两个呢,返回的就都是出。哎,就都是出了,那如果呢,我们这个电话号码,你看我这123的七位啊,我九九多了两位,这就成九位了,这是不是就不对了。
10:07
哎,这不就放了嘛,就你写电话号码呢,不符合我这个正常咱们北中国的这个电话号码的要求了,座机呢,就七位或八位啊,你写多了就不行了啊行,这呢叫匹配,再下边这个呢,叫切片啊split,就切成一片一片的这个啊split。嗯,看一下这个操作,这也是涉及到正则了,直接拿过来咱们演示一下就。V一下我把这个线啊CC。嗯,这个呢,我还是把这个类型呢,就去掉了。看这这呢是一个字符串,Hello word Java中间呢有这个杠,现在呢我切分,我就以这个下完的这个竖线给它做一个切割,那切割完以后呢,就把原有的字符上切成好几部分,所以呢,我们用个数组去接收,下边呢就是便利一下这个数组元素。
11:06
啊,那显然就是hello word Java是不是作为这个字符串数组的三个元素啊,哎,对的啊,下面呢,我是是叫hello word Java中间用的是一个句号点。然后这呢,我就用这个点呢,做一个切割。啊,切割的话呢,你再去这个返回一个数组啊,其实这就比较简单了。嗯,所以呢,你看拆完以后呢,它都是这个,这是数组的三个元素,这是你用这个点切割的三个元素,哎,就这样子,这话就涉及到关于正则相关的一些操作到这儿,哎,大家呢,目前就先了解一下就可以了,后续呢,我们用到的时候呢,呃,需要我们再去学一下这个正则,这里边各种各样符号的一个匹配表示方式啊,暂时呢,咱们就先了解一下就行,这呢是咱们说的string的第三波方法,哎。
12:00
这个讲到这儿了啊,这个方法呢不少,大家呢,后边还是通过这个咱们呃,不断的去写一些代码呢,去熟悉适应这些方法,现在讲到这儿呢,你稍微这个最起码啊,最起码你见到这个方法呢,你得知道这个方法是什么作用,返回值是什么,这都得知道啊,参数呢是什么什么意思,这都得清楚,然后呢,呃,尽可能的有意识的先记一记啊。
我来说两句