00:00
那么关于string呢,我们说呢,比较难的这个事儿啊,咱们就说完了,哎下边这块呢,就会舒服一些了,这呢也就回归到了咱们平时呢,在开发当中啊,用针用的比较多的这个事儿了,哎用的比较多的话呢,无外乎就是造对象,调方法,所以这块我们就来看看这个四轮当中常见的这个构造器,还有常见的方法。好,首先呢,我们来看这个string的构造器这块呢,我就不看这个API了啊,咱就直接呢看一下我这儿给大家呢提供好的。直接来看这儿。说这个扩大器的话呢,一看哟,又挺多的哈。这个string构造器的话呢,我首先CTRLC一下啊,给大家拿过来。这里边儿的话呢,其实主要体现的有这样的几个哈,首先呢,是有这样的一个空餐的,就是纯粹是new一个string里边呢什么也没写。没写这块呢,其实就相当于你放了是一个双引号,里边什么也没有。对应的这个数组呢,就是可以理解成这个数组的长度是零哈。相当于你用了一个叉型的数组。长度呢是零啊就这个概念,然后呢,你也可以呢,直接指明一个字串,刚才我们也都用过,那另外的话呢,其实就看到了这样的场景了。
01:03
哎,放这种叉形数组的,或者放这种数组的这种场景。啊,那这块我们要不要给大家稍微的说明一下呢?哎,可以是吧。那么回过来啊,这个没有加public是吧。下一个吧。行,那这块呢,我们就再去啊。那个收起来收起来,哎,再去新建一个。这个呢叫string的一个method啊,关于他的这个测试。那在这啊去说明哎,就这几种情况啊,简单看一下new一个这个string啊,这是我们说的第一种场景是吧,这种场景你看进来以后呢,相当于不就是这样的吗。是吧,哎,他呢,其实呃跟这种写法呢。算一样的是吧。就这意思啊。好,然后呢,这块string的话呢,我们看到这个S3,诶刚才呢,说有这样的一个场景啊,这个string这里边儿呢,我们可以去扭一个叉型的一个数组。
02:00
比如这块我们就写上A。B。C,那就这样好,那此时的话呢,我们要打印一下这个S3呢,其实对应的就是ABC是吧。哎,就是ABC好,然后呢,除了这个差型数组之外呢,这块还提到了有这个叫BAT数组。数组是吧,诶这块怎么去演示呢,这个其实要演示的话呢,就不太好说了。啊,怎么讲呢,就是bad的数呢,我们叫字节了,其实呢,就好比是呢,我们这个A,我要写的话呢,其实应该写97了。啊,这叫BA是吧。啊,那这个我怎么演示呢,就是由它出发,哎想给大家说的呢,是这个事儿,哎如果这个呢,我们看作是呢,叫string构造器的使用的话。哎,那么下边这块呢,我们借着这个事儿呢,来说一下这个。BY数组的事儿啊,那么这呢提到了叫string呢与。哎,常见的。啊,其他结构之间的一个转换。
03:01
诶,咱们来看看这个问题,这呢里边有一些内容呢,是我们复习的啊,比如第一个事儿,那涉及到的叫string,与前面我们说过的啊基本数据类型。化妆类。之间的转换。哎,那这呢,相当于是咱们的一个复习内容了。这个还呃应该有印象啊,咱们简单的快速的写一下,比如说呢,我们现在呢,呃假设啊有一个呃,Int吧,这个number这个呢是12,哎十吧,然后先把它变成字串。啊,那你可以直接呢,是不是这么着一下也行。这看到是咱们这叫方式一是吧。嗯,那还有什么方式来着。对啊,就是我们呢,想把这个转化成这个,就去后者里找方法。所以呢,这个string里面,它有一系列的一个方法叫外流of,哎,咱们叫它把这个number呢往这一扔,哎返回来就是个字符串。
04:00
诶,没问题是吧,啊,这是我们把这个叫基本数据类型。啊,当然这个包装类的话,你也可以就归到这儿,因为他们有自动装箱拆箱了啊,来装成这个SP。那么反之。哎,怎么呢,把这个string呢,转化成基本数据类型。对,我们去后这里找方法,但是他没方法了,就找包装类了。OK,行这呢,我们比如说就先写一个啊S3。这,那叫。123吧。哎,把它呢,转换成基本书类型。这呢,就去这儿。Pass。哎,往这一扔,这就特就出来了。这个呢,我们叫IE吧。哎,这就可以。哎,行,这呢算是咱们的一个复习的内容。这个我们叫调用,哎,包装类的。哎叫pass,诶叉叉叉是吧,这种方法这个呢,你就放这个字符串就可以了。
05:01
这是一个复习啊,那么我接着我就写到写到下边吧。开始三。那除了呢,这个string呢,与基本数类型包装类之间转换之外呢,哎,我们说第二个啊,String呢,它呢可以与咱叫差型数组之间的一个转换。啊,其实这块我们上面呢,不就已经说了一个怎么把这个插人速度转化成顿了。是吧,哎,那么我们在说的就是一个反过来的一个事儿。看一下这个事儿。这么着?嗯,首先的话呢,我们先写一个string吧。Itr,然后我们就叫做hello。这边呢,你用自变量用new啊都行啊,我想把它转换成是一个数组。我们在做一些问题的时候呢,可能会有这样的需求。啊,现在我们讲的这样的一些操作啊,哎,后续呢,我们在实际开发当中,可能都会有一些算法性的一些问题。
06:00
包括呢,大家你刷这个立扣的时候呢,有一些也是针对在字符串,这时候你就可以考虑使用string当中的一些方法来做了。在这里边呢,我们就提到了,哎,我把这个词钝呢,转化成是一个查询数组,怎么做呢。哎,他那有个方法。角凸。叉位。哎,表了一个方法。这个呢,返回值alt加回车。哎,这呢,就是一个叉型的一个数组了。哎,这呢,你可以便利一下是吧。哎,就这样,哎这里边儿呢,就是有这样的几个字符构成的数组。哎,没问题啊。行这个比较清楚是吧,所以这块呢,我们提到了怎么把这个string啊。哎,转换为叉型数组。这呢叫调用string的叫to。瑞。
07:00
哎,调这个方法就可以了,那么反过来呢。哎,反过来呢,咱们其实上面呢,对讲到的就是调用它的构造器。哎,调用哎的。哎,勾到气就可以了,来就我们上面啊,我扭一个string,哎,我们呢,把这个数组呢就放进去。啊,那么这时候呢,我们就得到了这样一个组串了。那这个字符串呢,就是我们这个书组里边的这个字符串,哎,其实就是哈了。哎,就他啊,来跑一下。嗯,行,那没问题。好,这个呢,是我们说的这个string呢,与差型数组之间转换,这个呢相对来说还比较简单一些啊,那么下边呢,我们再说一下这个string呢。哎,它呢,与。哎,是不是我们说的叫BAT数组之间的转换了。这块呢,注意有难度了啊。不管有难度,而且这块呢,呃,又涉及到字数级的问题了。
08:03
咱们最终目的呢,肯定还是要把这个词数机这块呢给弄明白的啊,来看看这块儿呢怎么去理解。哎,来他了啊。好,嗯,那这块要演示的话呢,我们先从这个string出发啊,这个呢,哎,你一个string。哎,这个string的话呢,我们其实这块你用new也行,用字变量都可以啊,比如我们就叫hello了。呃,首先的话呢,我们把这个string呢,转换成是一个bit数组。啊,有了我们上边这样一个经验了。怎么着?对,调用string的方法是吧。这个我们叫BY数组了,那你说这块调哪个呢。上面这叫to char RA,下面这个呢,是不是叫tobe瑞啊?啊,想的挺好。然后呢,没有是吧。啊,它呢叫get bits。
09:03
哎,Get这个方法。OK啊,好,那么get be呢?返回的就是一个BAT类型的一个数组了。所以用的是这个方法。没问题,行,那这个速度呢,得到以后呢,我们就想是不是好循环看一下是吧。I等于零,I那小于。点S,然后I呢,再加一下。哎,打印一下AR,诶诶这样就行啊,好跑起来。这呢是一个bit数组啊,打印的就是这样的几个数。啊,这些数的话呢,似曾相识吗。啊,不太明显啊,你改成ABC呢就清楚了是吧。对,实际上的话呢,就是我们这个每一个字符对应的那个X码是吧。哎,这就出来了。哎,那这块呢,咱们使用的这算是一个什么样的字符集呢。
10:02
可能我们认为呢,这不就是X码吗?啊,有同学说,诶这块有跟自数机有关系吗。有关系,哎,怎么叫有关系呢?你看啊,我这样一画映射你就知道了,左边呢叫ABC。哎,然后呢,右边这块呢,对应的这个数97。98是吧,哎,99,你凭啥让ABC对应的是九十七九八九十九呢。这不就是字符集吗?啊,这就四五级。哎,那么咱们知道在阿玛当中呢,对应的ABC呢,就是这几个值。啊,所以我们说呢,说这个子五级呢,叫阿马。其实呢,不够准确。啊,为什么讲呢,因为呢,我接下来再来一个叫中国。那X码当中肯定没有汉字是吧,那我这块呢,去运行它会挂掉吗。不会,那结果呢,看一下。出来了。是吧,那出来以后的话呢,呃,我们这块呢,知道是ABC了,那这块呢有俩字,这一共是有六个,那好歹呢,你应该知道分一分,这仨应该是中是吧,这仨应该是国啊,哎,那就涉及到这仨,这对应的是谁。
11:11
啊,对应的是中啦,对,那这仨是怎么来理解这个事儿呢?这块呢,是不是也得涉及到这个字符集的问题了。啊,那么这个字符集其实呢,也就是我们现在啊使用的字符集,我刚才根本没有改代码,这个字符集呢,就是咱们的UTF啊或者UTF杠八都行。只不过呢,在UCF杠八当中,它兼容了阿斯玛。所以呢,我们会看到呢,诶,当你写ABC的时候呢,呃,就是九十七九八九九啊,咱们可以说呢嘛,你也可以说呢,是U8,因为它都兼容它了。啊,那汉字的话呢,我们就真正能看到他其实用的是UTF8,在UTF8当中一个汉字占用三个字节。这块呢,相当于我们顺便呢,就在这多说一下啊,在。
12:00
啊,UTF8或者UTF杠八都行,这个字符集中。一个汉字。哎,占用。三个字节。那么一个abcd呢?还是一个字节是吧,啊一个字母吧。啊,占用啊一个字节。啊,是这样的一个特征啊,那为什么我们这块使用的就是UI8呢,主要原因是因为我们现在调的这个方法,这个方法呢,这种写法呢,相当于呢,就是使用默认的字符集。这个默认的次数集,就是因为咱们用的是,呃,在这个设置的时候呢,是不是使用的U8呀。咱们在这儿设置的啊,File encoding,哎,这不都是U8的吗。哎,就是这样的场景。好,那我要是不使用这个UI8呢也行啊,看着下边这个啊。哎,我现在呢,再接着啊,重新拿着h2.getbits,我们刚才调的是第二个方法,它有一个第一个方法。
13:04
第一个方法就是你指明显示的使用哪一个字符集,比如说我用JBK。啊,GK呢,就是咱们专门中国人使用的这样的一个磁,包括台湾地区了。都是中国的是吧。然后这块呢,哎,包括繁体的简体的都没问题啊,然后呢,使用这个次数集转换过来的也是一个bit型的数组。啊,我叫一。他这块呢会报异常,他会担心说万一你要写瞎写呢。是吧,你写的不靠谱呢,你拿一个abcd,那我呢也不认识啊是吧?哎,所以它这呢会抛一个异常哈,蛋白的异常就给它抛出去吧。不知持的这样的一个啊。这个这个转换是吧。编码啊好,那么按照这种方式呢,我们转完以后呢,咱们也for循环一下。哎,咱们也打印一下。没问题是吧,这个呢,咱们为了区分啊,我在这块呢,来一个换行了,上面呢是咱们这个ABC中国实行的这个默认的字数集啊utf。
14:10
哎,杠八八,然后这块呢,我们显示的使用的叫GBK来走起来啊。完事了啊,接着我们看下边这个。这场还是ABC。哎,你发现在这两个是中,这两个是国。那也就是说在我们这个JBK当中呢,一个汉字呢。占两个字节是吧。来,在这写一下。JBK啊,字符集中。一个汉字。哎,占用啊,两个字节啊,一个字母啊,还是占用。哎,一个字节,而且呢,咱们也发现了这个都是九十七九十八九九,相当于呢,就是U8也好,JBK也好,都向下兼容了X码是吧。JBK都向下。
15:03
兼容了啊。阿玛。啊,也就是说呢,这个阿斯码呢,在我们这个两种字数集当中啊,他们都是一样的,所以平时我们看到呢,说乱码了,其实呢,一般都是汉字乱码了,这个abcd呢,都不会乱码,因为它都彼此之间是兼容的啊。其实这呢,也就解释了咱们这样的一个场景,大家你看啊,这呢是我桌面上的。是不是放了一个叫ABC嘛。这个ABC的话呢,其实我们从存储的角度来讲,我不管你用的什么字,它呢就是一个占一个。就是三个字节我都不用管它是什么字符集啊,然后现在我再打开,我在这儿呢,我写了一个叫中国是吧,CTRLS保存了一下,这个时候呢问说这呢是几个字节,那就得看你用的是什么字符集了。双击打开这块呢,我们来一个叫cos,看这。啊,这个呢,就是指明它是默认的行为,啊这个nsi呢,它就是JBK的意思。
16:02
这个主要呢,是因为咱们现在是中文的操作系统啊,中文的操作系统呢,它默认的就是JBK了。不是说呢,美国国家标准局默认的是用的是中国的。那那那他也没有。跟中国正闹别扭呢是吧,诶这个呢,是因为咱们中文的操作系统啊,它呢就相当于是JK好保存一下。啊,其实不用替换,它默认就是啊,那替换咱们更明确一下,它是用的是JBK,第2JBK的话呢,这是多大呢。对,应该是三加上二乘二是吧,哎,这呢就是七个字节,来我们看一眼。你看七个字节。没问题,好,现在我再把它打开,然后这时候我们打一个cos,把它呢改成叫GU8是吧。保存再替换,这个就是三加上二乘以。三辣椒。哎,这呢,就是九个字节。哎,属性,那这就九个字节了。哎,就是这样一个场景啊,好了解一下这个事儿。好,这呢,就是我们说的这个字符节的这个,呃,这个字符集的一个问题了。
17:02
啊,咱们这块呢,就是。哎,调用的这叫get best,这个方法指明一个string形的叫着char set的一个name啊,使用。啊使用啊,指定的这个哎,字符机啊好,那这块呢,编译完这个字节以后呢,我们下边呢,就要反着来了。反着来的话呢,是不是就得还原了。啊,这块就涉及到咱们把这个呃,字节的这个数组转换成咱们说的这个磁针了。啊,转成string啊,你比如说我们先拿上面这个来说吧,上面这块呢,我们这个数组呢,叫AR2是吧。咱们就使用这个构造器了啊,就上面提到构造器的时候。啊,这不这块就对应的这个构造器了吗。好构造器的话呢,我们首先呢,把你这个数组叫AR2,我先拿过来。这块洗完以后呢,我就直接这块呢,让他就是拿死砖来接收了。我这个叫一个。
18:01
一是吧。那这时候我们去打印一下这个HR1。哎,你会发现呢,它没有这种乱码的问题。那这块呢,这个ABC中国没问题是吧,哎,这个呢,为什么没有乱码呢。有同学说,为什么会有乱码呢,是吧?你看现在我们要把它给还原回来是吧。其实我说呀,这里边儿其实涉及到一个事儿哈,什么事呢,这里边儿呢,就叫做编码与解码。哎,咱把这个事儿呢,说完了,咱们就下课啊。诶,编码与解码,这个什么叫编码呢。哎。对。编码解码是吧,对你可以这样理解哈,编码的话呢,首先啊,这个从字面意义上来讲呢,其实就是我们把这个顿呢。转换成底层存储的010101,那么就是字节或者叫字节数组吧。
19:04
哎,那么把这个过程呢,我们就称为它叫编码它的一个逆过程。就叫做解码。把字节或者叫字节数组转换成咱们能看得懂的这个字号。这叫做解码,所以呢,你也可以简单来说,什么叫编码呢?就是从看得懂的。到看不懂的。就像你这块,你看上面这个,你能看到说哎呀中国是吧。这你肯定看不懂啊,诶,所以这块呢,就是从看得懂的到看不懂的叫编码解码呢,就是从看不懂的。到你能看得懂的。啊,这个针对于咱们这个叫字符集来说呢,就是这样的场景,大家呢,不知道有没有生活中的经验,比如说你掌握什么样的这种这个这个一个小视频啥的是吧。特殊的某种格式的是吧,然后这块你一打开的话呢,用一个比如说QQ影音啊,这个暴风影音啊,去打开的时候呢,它突然就报个错,缺少。解码器。啊说对的呢,都是有经验的是吧,啊缺少解码器,也就是说呢,这个文件呢,底层呢,就是0101大家都看不懂的是吧,解码器呢,就是从你看不懂的解析成你能看得懂的。
20:13
还有一套映射关系。只不过这个呢是视频,咱们现在说的是文本是吧?啊,这个解码器呢,其实就相当于我们这里边儿这个解码集一样啊。OK啊,就是这个意思了。好,那要想咱们你看啊,我先从看得懂的转化成看不懂的,再从成看不懂的转化成看得懂的,这个过程有个要求。要求什么呢?就是我们这个解码的时候啊,解码时候使用的这个字符集必须呢,要跟当初你编码时候使用的字符集呢要一致。解码时使用的这个字符集。必须与编码时使用的字符集一致。不一致。
21:02
就会。知道吗?诶,就是这个问题啊,好,你看啊,我现在这个get,咱们说了默认的是U。然后这块呢,我把它往回转的时候呢,你看我也没有指明什么字数集,说白了就这块儿呢,仍然使用。默认的这个字符集,哎,说白了是不是还是U杠八。所以呢,这个时候我们在转的时候,就没有出现这个乱码的问题了啊,哎,那你想我要是这样写。我叫HR啊,我去new一个string这个呢CTRL记一下,哎,我这呢先把咱们这个数组呢放过来逗号一下。诶,你发现呢,它其实还可以呢,去指定一个叫诶死string类型的一个叫叉set。嗯,在这儿是吧。进行一个插赛内幕,那这个位置呢,如果我们要显示的写成叫UTF杠八,其实也没问题。这个表示你,哎显示的。指明。这个呢叫解码的是吧。字符集。Utf杠八,那由于呢,我们当初编码的时候呢,这个AR2我用的就是U8,所以你这块还使用U8显然也没有问题。
22:09
跑一下。哎,你看仍然是OK的啊,哎,但是呢,你也能猜到了啊。这块呢,我改成是HR3,我这呢是是用的叫JBK。啊AK啊,那么显然的话呢,我们要是再去获取这个是不是就乱码了。哎,走起。这块就成这样了。这个没有任何意义了。啊,你也不用去研究是吧,这就叫乱码的意思了,行,那么把它呢,我们就得注掉了啊这呢是一个哎乱码。行,那么针对于我们刚才写的这个A21来讲,因为呢,咱们用的是JBK了,所以你要是给大家再解析出来的话呢,也必须得用JBK是吧。诶,那我们把这个呢,再写一下啊,用一个string叫A1,它呢必须使用JBK。
23:05
啊,换句话说呢,他要用犹太巴呢,他也得乱码。哎,答一下AT24。OK,来,再走起。诶行啊,这块你看诶就没问题啊,好,这个呢,就是我们说的string啊,通过呢,我们去讲一下它跟其他结构之间转换的事儿,诶我们把这个编码跟解码这个事儿呢说清楚了,构造器呢,有可能你不会用,但是这个编码解码这个事儿呢,实际上呢是挺重要的,换句话说呢,我们其实每天都在做这样的事儿,你看我这个文件写了这么多,我一点保存,我现在在干什么事啊?对我就编码了,因为呢,你内存中这个数据呢,我们一点这不就按u ti8的这种方式,咱们都设置过吗。哎,然后呢,就给我们保存了,然后呢,你把它关掉了。嗯,这个是吧,要把它关了,关了这时候呢,它就是物理磁盘上的一个文件,我现在一双击。哎,这不就解码吗。呃,就好比呢,你这个文件也是一样哈,一双击。
24:02
这事呢就是解码,然后呢,你这块呢,一顿写,然后一点保存,这就是编码,其实我们每天都在做这样的事儿啊,要想呢不出现乱码,必须呢,呃,编码解码的时候呢,跟编码数一致啊。看人家当初先怎么编的,你再怎么去解就可以了。OK,我们就说到这儿。好,这个完了以后呢,接下来咱们就来说一下这个string里边呢,常见的一些方法,看看都有哪些了,这呢我们再写一个啊,String method这个TEST1啊。嗯,写到下边了,这块的话呢,其实就啊比较无聊了啊,咱们就看看这个方法呢,咱就一波一波的看一看,然后哪个方法呢,大家不太熟是吧,咱们这块呢,就测一下,哎,也就是这样的一个情况啊好这呢我先把这一波方法呢先粘过来。咱们从上往下呢,过一下这呢,一边过啊,一边的话呢,大家呢,你记一记。因为呢,我们瑞呢,在开发当中用的比较多一些,你看这个方法呢,回头我们在一些小的题目当中用到了,到时候你得能够想到,你这块用到的时候呢,是我自己写一个。
25:07
写一个肯定费时间了,基本上大家能够想到的string的这个使用的一些操作,最基本的一些方法呢,在string当中其实都给我们定义好了啊,直接拿过来用了其实就行OK啊。比如第一个。Empty。哎,判断当前字符串是否为空是吧。这个呢?说两句吧,这呢是个S1,像这样写的是吧?哎,我再这样写一个S2。哎,你有一个string里边呢,什么也没放。S3NEW一个string,这里边儿呢,我写一个这样的情况。这三种我们要是拿这个ET去判断的话。都是。对,都是空的。S2S3。来我们首先呢,给大家运行一下。
26:00
嗯,你看这个都是处是吧,就是这三种情况呢,它都是空,那这个空呢,它其实判断是什么呢。点一下。哎,就是底层的这个差型数组,它的一个长度看看是不是零对吧。那长度是零的话呢,那相应的这个就是MT的,所以这块你别别这样想啊,你说它是不是指的是这个意思啊,说S4呢,它是个no,说这块呢,我们S4呢来一个T,这是出吗。这是啥呀?这是放吗?对,这不是中招了吗?这是控制人了吧?啊,你这都是一个闹呢,去调个方法,那肯定控制人呢啊,这个别陷进去了啊,这个呢是报控制人一场。哎,这个得清楚,所以说这个empty它的一个前提是啥呢?前提你这个呢,得有实力是吧。那没有实力的话,你怎么调方法呀。哎,直播上是有实力的情况下呢,这里边儿没有实打实的这个字符了,哎,这个时候你就是MT的一个情况。
27:04
好,然后如果说你要具体的有相应的一些字符的话呢,这个肯定就不是MT的了啊。行,这呢是我们说的这个,然后下边那个叫lengths哈,就是返回我们这个字符串的一个长度,呃,其实呢,就是它里边这个。叉形数组的一个长度了。对吧,这个也很好理解啊,如来一个S5,那右边这块呢,我们怎么创建都行,是字面量啊还是new啊是吧,这个都可以了,比如这要写个hello。哎,那这个S5的S啊,它这个呢,就是五。啊,这个比较简单啊,这个就过了。然后那个con呢,咱们说过了,就相当于呢,调这个方法的字符串,这个把这个字符串给它拼一起是吧。拼写的时候你注意一下啊,那我们前面调这个方法字符串变了吗。没变对,然后呢,平移起的是返回的结果是平移起的。
28:00
啊,这个注意一下啊,所以这块呢,其实也体现了咱们说这个的。对,不可变性是吧,就是这块呢,你不要对我当前这个字符串产生影响,呃,返回的结果呢,是你拼接以后的结果啊。好,这是这个,然后呢,这块叫equals,比较两个字串呢,这个是否相等,这个呢,注意它是区分大小写的是吧。然后下边有一个叫equals ignore case。这个呢,Ignore呢就是忽略的意思,Case呢,就是大小写的那个格式啊,就是忽略大小写的情况下是不是。哎,这个也。可以稍微的测一下。那你比如这个呢,我写个S1,咱就写个hello吧,然后我再复制一份,这个呢叫S2啊,比如这个H呢,我写成是个大写了,那其他的字母O再整个大写这都可以。那这个时候呢,我们如果是S1.14S2啊,这是一种,然后S1.14case s2这两个结果就不一样。
29:00
嗯,这时候你看我们这个结果上面这个呢,显然大小写不一样,下边大小写忽略的情况下呢,它就是个出。所以有的时候我们在,呃,这个有一些验证码的时候啊,验证码比如他写的是H34B是吧?啊这块你发现了,你写小写的时候呢,是不是有时候也能过呀。这就说明呢,他给你做了一个判断啊,就是把相应的在忽略大小写的情况下呢,发现的是E的,那就可以过。啊,就是这样个场景。接着。下边这个呢,叫compare to。哎,Compare to调离方法是个字符串,行三呢是个字符串,比较两个字符串的大小。啊,这个呢,方法其实就是由于咱们一开始讲string的时候提到过呢,它实现了一个接口。这个接口呢,叫做comparable是吧。哎,这个接口呢,有一个抽象方法,这个抽象方法呢,就叫做compare to,所以这个方法呢,其实是重写咱们接口里边那个抽象方法呢,体现出来的。两个字符串比较大小,如果返回的这个是个正数。
30:00
表示的就是调的方法的那个字符串大。哎,那这个具体比法呢,其实就是嗯,像咱们理解的那个abcd的那两个顺序。啊,简单我们说一下,因为呢,后边咱们讲到这个位置的时候呢,专门就来讲这个比较器的事儿了,讲这个comparable,还有一个叫compar了。行这块呢,比如我写一个A。Abcd是吧?来一个S4,再来一个A。MNMN有点大了啊EF啊。好,那这样呢,s3.compareto,我们来一个S4,哎,这么着啊,嗯,它这个怎么比呢。这个大家能想到吧。就是一个一个B是吧,所以说A跟A一样了,后边这个B跟D不一样了。那B跟D呢,就俩就相减了。当然了,你是因为你S3掉的,所以呢是拿B去减这个D哈,B跟D的话呢,本身你看就差俩数嘛。所以呢,减完以后呢,这不就是负二嘛,是个负数,负数就意味着这个大是吧。
31:03
就跟咱们说呢,一个小数啊,一个比如说这个是五,这个是七,你五减七肯定是负数啊,所以只要是负数的话,那就说明后边这个数的。啊,你要反过来的话呢,肯定就是正的了,就前面这个档是吧。OK啊行,这个呢叫compare to,然后呢,它对应的呢,这块还有一个。哎,这个呢,比如说abcd。S6啊abcd哎,如果这样呢,要比的话呢,它俩肯定是。零了就是吧。诶,S5是吧。那因为这俩呢完全一样啊,同样后比都一样,那这就零说明你俩呢就是相等的。哎,这样啊,然后呢,这块呢,我要把这个B呢,改成是一个大写的B。这个时候呢,就不一样了,对吧。嗯,这个时候你看是这个32啊,因为咱们这个小写的这B呢,它不是98嘛。它是98,这个呢是。
32:01
66吧。呃,因为大A呢是65,大B呢不是66嘛,这样一减32是吧。所以这块呢是一个正数啊,那我要这块呢,还有一个另外一个方法叫compare to。一个。就是compare to的时候呢,也可以忽略这个大小写啊。哎,我们这时候呢,再复制一份。然后把这个呢改成A,改写错了啊。改成这个方法。这是我们再来。诶,你看这个呢,就是零了啊,因为呢,在忽略大小写的情况下呢,去比这俩呢,就算是一样的了。好这块呢,你注意啊,你看我现在比的时候呢,我都是拿这个呃,Abcd这样的数据说的啊,因为呢,相应的咱们也都知道它的阿是多少了啊这个如果呢,咱们要拿这个汉字的话呢,这个你就得小心一点了。这个汉字这块呢,可能跟你想的不一定一样啊,我我就这块随便这样一写,比如这块写个叫张吧。
33:02
张AB是吧?啊,S8这个叫李。啊理CD其实跟这个c dab也没啥关系了,因为第一个比的时候就不一样了是吧。这个S7呢,我们叫compared to s8。啊,这个咱们看一眼啊,这个你觉得是正的负的。啊。江南。这一发现看这个是负的是吧。负载挺大是吧。呃,这个呢,注意啊,因为咱们后边呢,也会涉及到这个排序的问题了,排序的时候呢,很多同学呢,会造个数组里边呢放好多这个字串了,然后字串的时候呢,就张三李四王五就来了啊,结果呢,排完序以后呢,发现诶不对呀,是不是我代码写错了,什么意思啊,就会天然的会认为这个张啊它是最开头的是吧。这是张,然后李呢,是这样写的是吧。当然这个你写成小写的也有可能哈,这块注意咱们这时候呢,所谓的这个张也好理也好,如果你要是写成这个拼音了,那毫无疑问的这个Z呢,比这个L要大。
34:07
哎,这个呢,按说呢,应该得的是个正数,但是这个汉字的话呢,它可不是说把你翻译成拼音,然后呢去比的,他就是纯粹的拿着这个章,咱们这块呢,不是有这个。哎,相应的这个字符集嘛,是吧。按照这个字符集呢,做一个转换,找到这个张呢,对应的那个值跟里对应的那个值它俩呢去减一下,这个时候你会发现呢,这个得的结果是负数,咱们往回推的话呢,相当于个张对应的这个值呢要小一些是吧,里的这个值呢反而要大一些了。这个你也别问为啥了,就是分配的时候呢,不一样是吧,不是按照abcd的那个顺序呢去分配的,他们的这个值仅此而已啊,那可能有同学会想,那为什么我手机的这个联系人,然后我这块呢,都是按照abcd的顺序来的呢。是吧,哎,这个的话呢,就是把咱们作为中国人,咱们这个联系人基本上都是。汉字了是吧,当然有少数民族啊,这个少数民族呢,那有少数民族的这个方式都是类似的,就是我呢,先把这个汉字呢,它有相关的这种一个大包,大家去网上找,其实你一搜也能找到啊,就是汉字转拼音啊,它其实有相关的一个炸包,这个炸包呢,就是咱们Java程序呢写的哈。
35:17
然后呢,诶我们在设计这个程序的时候呢,这个你可能写的是汉字嘛,然后我用这个包里边API呢一转就是先呢,把你这个汉字呢,先转换成拼音,然后拿着拼音呢去排序了。所以呢,你中间需要绕一下是吧,你要纯粹拿着这个汉字去排序的话,那麻烦了,那可能这个章呢,就在上边立,那就在下边了,哎,就是这样的问题。这块提前呢,把这个事儿呢给说了一下,OK,再往后。这个呢,叫to lower case,这个不用举例了吧。就相当于我们写了一个字符串,然后呢,一点它就全部转化成是一个小写的了,是吧,这里边儿你注意呢,我们要是abcd的话呢,这个转化成小写,如果要是123呢。也不会报错啊,就反过来还是123。
36:00
哎,如果你要写那个汉字中国是吧,这这有大小写之说吗。没有是吧,就是你要写中国的话呢,转化成大写,转换成小写,没有变化还是汉字啊。这个我就说一下就行,然后这个呢叫trim方法,Trim呢是去除字符串前后的空格的。比如说啊,你看。S9,这呢,我就写个hello。这块呢,你看有一些空格几个呢,不确定。中间呢可能也有,你看中间这块怎么处理。点一下是吧,哟。诶一下我们打印一下,为了看着方便呢,我们在后边。哎,补一下这个,比如说星。前面这块我们也这样处理一下。哎,这么着一下来,我们再去run起来。好,大家看这时候呢,我们这个S9吹幕完以后呢,前边这块呢,你看是抵到这个H这儿了,后边呢,是从O开始的,把这个呃,前后的这个空格呢,都给我们去掉了。
37:03
然后中间这块有空格的话呢,是不会给我们去的。这个就是这个trim操作,它呢是个什么场景呢?比如说大家呢,你看有没有注意过哈,比如说你去搜一个QQ是吧,诶搜一个号,或者你在百度里边,乃至就说搜个词,有的时候呢,你会发现呢,你前面呢,有时候一不小心会写一些空格,或者呢,写完以后呢,后边会加一些空格,那么它在搜索的时候呢,它会自动的把你这个空格呢都给你去掉。甚至说呢,在比如说你输入一个注册一个网站的时候呢,其实第一个呢,先给你这个网站呢,这块你起个网名是吧,起名的时候呢,你可能起了个叫哈。写完hello以后呢,其实你可能不小心的在后边加了几个空格,但是你是看不出来的。那么他在这块给你注册的时候呢,他会调出用方法把这个相应的空格呢,都给你去掉。因为呢,万一你要写几个空格,他给你这样保存了以后你再写,诶我怎么写hello时候怎么进不去了呢,其实呢,你上边有不小心呢,加了空格了是吧,他都是给你去了空格以后呢,给你去保存的。或者呢,去了空格以后呢,帮你去搜索的OK啊。
38:03
好,这个呢,我们说的叫trim过了,这个呢叫咱们说过了。这个调离方法的时候呢,它会在自这常量池里边呢,把那个字面量给我们返回啊返回,然后呢,你要是存在呢,就返回,不存在的就生成一个再返回是吧,这就in存方法啊。这那一波是一个啊给过了,然后这有一波呢,涉及到叫查找相关的。哎,说一下啊。诶回过来这个咱们就在这儿,所以这块呢,你看其实挺无聊的啊,咱们就是看一下这个方法呢,都咋用。哎,第三个啊,诶第一个呢叫cons。这个咱们后边呢,有一些小算法问题里边呢,会用到这个contain方法,这个呢就是判断当前这个字符串是不是包含这个字符串。这个就是contents的意思,反应反位置呢是一个布尔类型的。
39:00
那比如这块我们写个string s SE这个呢,我们来一个比如说诶上硅谷教育是吧。诶这样写的,然后S1。点啊,Contains是不是包含硅谷是吧。哎,是不是包含这俩字,这个呢,我们来一个输出。Contents。这个啊。哎,这个呢,显然呢,它就是出是吧,包含的啊。嗯,没问题,行,这个比较简单,嗯。放。反过来,骨灰啊。那你觉得他能能能日出吗?肯定不能啊,是吧。啊。拼音那还用想拼音肯定不行啊。新跟这个这纯粹就不一样了呀。是吧,所以这时候比的时候呢,它就是拿着这个字符串呢,去这里边从前往后,你比如我们这个是是硅是吧,这块呢,去匹配的时候找到这儿了,找到以后呢,我再看后边这根,看是不是一样的,一样的话呢就行,你要找到鼓的话呢,先找到这儿了,然后鼓这块呢,在后边找归不不一样,那么就还是false了,拼音的更夸张。
40:08
啊,拼音就不要想了是吧。啊,你要想让拼音也是处的话呢,你得想办法,你把这个汉字呢,先转换成拼音,然后再看拼音跟拼音一样不一样是吧,这个你得自己呢去操作这个事儿了。人家这块很纯粹的啊。然后呢,这个叫叫inex啊,这块我们在一些相关的方法中呢,还是比较常用的哈,比如1INEX。In so的话呢,首先我们比叫这个啊,这里边呢,写的是个字符串啊,我写个谁呢,比如写个叫教育了。然后呢,点输出一下这个什么意思呢。就是当前这个字符串呢,在我们这个字符串当中首次出现的索引位置。那引子就是索引的位,索引的意思哦,就是他他的索引是吧。就这样去翻译一下就行了,它的索引来我们去跑一下。
41:02
那这个所以呢,看写的是三就是012,这不三开始嘛。就是这个in代五,它呢,首先呢,确定的点呢,就是它肯定是包含了。你比如说我这块呢,是不是包含教育A这个呢,显然是不是不包含这个。不报案的时候呢,返回的是什么呀?False啊,这个反问值是in的类型的。对吧,那这时候呢,返回的肯定也是个数,要么就应该抛个异常了,说不包含是吧,但这块注意它没抛异常,他这块返回这个结果,这个结果呢叫负一。所以这块呢,大家可以记一下,就是我们下边这个in so也好,Last in也好,只要呢,你后边这个字符串呢,没找着它呢,都返回负一。你看这块写的是吧。都返回要负一了,行,嗯,这个你怎么去理解这个负一呢?因为咱们说这个索引的话呢,最小的是零嘛,那要没找着是不是就取前一个就行。就是负一的意思了。后边呢,以后我们讲数据库,数据库的时候呢,这个索引它是从一开始的。
42:03
数据库的索引从一开始的啊,那数据库这块呢,它也有相关的字符串,也有相关的一些方法,那他要是也判断类似的说,哎,我找不着,找找着没有在哪个位置,他呢,要是没找到呢。返回来就是零了。就是一前面这个。你看这个语言呢,其实它设计的话呢,是有一些规律性的是吧。好,所以说这块呢,引该so呢,首先呢,你要是没找着呢,返回负一,如果找到了,把它的第一次出现的位置的所引呢,告诉我们,那U呢,如果说这块我再加一个,比如叫教育。把这个呢,小A呢,我就去掉了,这个时候是不是就成了角标零了。对,因为呢,最开始找到的话呢,一上来就是。后边的呢,我就不考虑了。就这个意思,只要inex啊,然后呢,这块还有一个啊。S1.inexof这块,我们先把这个教育呢,我先写上,然后逗号这块我还可以写一个索引,你看这个索引呢,提示我们叫from。
43:01
从这个索引开始找,言外之意呢,我就从这个位置开始找了,这要开始找的话呢,再找是不是就找到后边这个了。对,这就是从指定的索引开始向后找首次出现的位置,这不又跑到五这儿了,这是1234,哎,这不是五吗。就这意思。好,然后下边这个呢。就是从后往前找压呢,就是最后一次出现的位置。那last index of,然后再写个教育。哎,再走起。这就从后往前来的,但是从后往前往前来,你别说从后往前来,这不就是一呃零一,那不是那意思啊,从后往前的话,你这个索引是几还是几。啊,这个刚才不是说是五嘛,所以你从往前找的话呢,也是找到它了,所以这也是五。啊,就是反向去搜索,但是所以呢,还是从零头部开始的啊。行,然后下边这个呢,你也能想到,就是从这个开始反向搜索。
44:01
我们再复制一份。啊,这个我再复制一份,比如说我在这个位置呢,我逗号一下啊,我这写一个四,这个四的话呢,就是在这儿了是吧。从它开始反向搜索往回走,那这块呢,是不是就找到头部了。嗯,这不又找到零的位置了吗?就这个意思。行,这个我这样说的话呢,大家你能有个印象啊,就是你看到这个方法,你知道什么意思,顺便的话呢,也稍微知道咱们在这个字符串当中有这样的方法,那以后呢,你用着的时候呢,直接过来拿。是吧,就可以了,好下边这两个。哎,这两个。这两个的话呢,其实基本上大家也会看到这个方法呢,差不多都是建明之意的。这个呢叫Sri是吧。取当前这个字符串的一个子串,从这开始取,一直取到最后,这个呢是从这开始取,取到这儿结束。
45:04
是吧,诶比较直接的哎,比如说SSE,我想把这个,诶上微谷教育呢,给大家取出来,这个呢,我写一个subs string里边的咋写。写几张。商务教育是不是写二啊?对,从二开始,因为上呢是二嘛,一直到最后,那就这个意思。诶一直到最后行啊,那么这个subst string它是怎么做的呢?那这个我们点开看一眼啊,这个呢,对应的它如果是小于零,那你这个就肯定是越界了啊哎,否则的话呢,这块就减一下,减一下这块呢,其实主要取长度,主要的想法呢,其实你就看这就行啊,我们就是取到你当前这个字符串呢,从指定位置开始多长多长个取几个是吧。实际上呢,我们想看的是这个事儿。所谓的sub three呢,其实底层又帮我们返回了一个,是不是新new的一个轴串了。来这个注意一下。
46:00
嗯,这个呢,是新六的一个结果。好,这是它,然后呢接着再来啊,S一点叫subs string这儿呢有两个参数的,比如说现在呢,我想把上微谷这仨出来。这个呢,你看首先呢,这个是二了是吧。关键就是后边这个切迹。234。写四还是写?哎,这块注意得写五。对,也就是呢,这个时候呢,我们这个它的索引呢,是从二开始,这个五呢,注意是不包含的。所以呢,就是234有五不要,所以呢,就只有上硅谷这仨字了。嗯,没问题哈。行这块呢给大家说一下,凡是在咱们Java当中。哎,大家注意啊,凡是在Java当中,你看到的是从哪开始到哪结束,就是这种涉及到索引的问题呢,全都是左闭右开的。你看那从begin或者叫from是吧,然后这个叫to或者叫end,那都不包括这个end。
47:04
但是你要看清楚啊,有的时候呢,它不是从哪开始到哪结束,有的方法呢,是从哪开始几个长度。所以你看清楚啊,如果要是几个长度的话呢,肯定就不是这意思了,比如说我这从二开始五个长度,那你从二开始五个长度,那是不是就成了这几个了。对啊,所以说这块呢,到底是长度还是说是to还是N的,这你看他那名就行。OK。这个就过了。啊,又一波是吧。哎,这个再粘过来。这里边儿有一些呢,咱们其实已经涉及到了。第一个呢,叫那这个方法呢,其实还挺好的啊。就是呢,咱们说呢,这叫字符串嘛,它实际上呢,就实打实的把你这里边儿的每个字符啊,你想要具体哪个位置的,它都可以给你取出来。这个我们叫叉at。你看这个名你也知道,艾就是在指定的索引是吧。
48:03
然后呢,它这个位置的这个叉,比如这写个二啊012不就是这个上吗。那就这个上是吧,这个比较简单,行这个就过了啊,然后下边这个to叉位咱们说过了。然后下边这块呢,叫value of啊copy value。这两组的话呢,如果处理的都是差型数组,其实作用是一样的,就是返回一个它的。哎,复制品是吧,就再整一份这个字符串,Y6呢,咱们前面也讲过,其实呢,它也可以看作是我们把基本数据类型转换成字符串的一个方法了。比如当然当然这个方法你看它是这个static的啊,直接拿类去调就行。此论点value o,咱们前面呢,把基本数类型转换成字符串,这不用的就是它吗?那直播这块呢,看他有个这个叉型的这个这样的一个方法啊行,那这个方法的话呢,我们假设我就在这写了啊,用一个这个差的。哎,就这么着,里边呢,咱们就整一个,比如ABC。
49:01
是吧,哎这样,然后他这块呢,我们out回车。生成了一个比如叫S2这个呢,就相当于是把这个插人速度呢,转化成是一个字符串了,这里边呢,其实也是帮我们新new的啊,New的这个呢,跟这个操作呢,其实差不多哈,是不是叫copy value嘛。是吧,这个叫S3啊。SR。嗯,S3是吧。你看就是ABC是吧,那这个时候S2和S3呢,相等吗。下了吗?我比的是低脂。刚刚才看我说了,里边是姓牛的。新旧的,你说肯定不就不相等呗。那就放是吧。精神精神啊。我看已经有这个90度的了都。
50:00
啊,那那那谁呀,拍一拍相互之间。哎,困的话呢,不行就站起来站一会儿啊。晚上现在都几点睡啊?那得看哪天啊,嗯,其实应该稍微规律一点是吧,啊不用晚上有的晚的时候特别晚,然后呢,早的时候特别早是吧,这个大家现在呢,应该是。我觉得这个12点半之前睡就行。有同学我十点就睡了是吧?十点睡有点太奢侈了吧?对,到家就十点多了啊,这个晚上回去的时候呢,应该还是再得再学一会儿的啊,这个晚上有时候大家走了以后呢,我就就来教室里了,我看个别同学这个电脑都没拿啊。是家里边儿还有个电脑是吗。嗯,如果家里要没电脑了,电脑在这搁着有点过分了,就啊,现在咱们在这学的这个强度这么大,你指望着九点半的时候呢,把当天的知识都消化吸收完了,这个不可能,肯定是做不到的,除非呢,你之前的都已经预习过了,即使预习呢,你也就预习了,刚开始这一个月,你后边也不太能预习了,你要后边也预习了很多了,那干脆回去自学,其实也行。
51:09
是吧,自制力这么好,那干脆回去学了就啊,那晚上回去的时候肯定要把电脑带回去的,带回去不是去看球赛去了。啊,回去呢,你得继续呢,开始整了啊,咱们说了每天那个代码,倒不是说呢,每天我讲代码大家都需要给大家敲一遍,一般呢,就是我讲的这个新知识点相应的一些代码。有的代码呢值得敲,有的呢可能就不值得敲了,因为有一些这个为了测试知识点代码就来回改,改的呢,可能已经有点面目全非一样了,是吧?主要呢,你通过这个讲知识点呢,把这个代码看一看就行,然后更多的就是把相关的这个课后练习题,尤其呢,像咱们讲面向对象的时候,那些课后练习题呢,一般我写的都会比较标准规范一些,你按照那个规范呢,你先好好的写一些,先掌握好这种规范的写法,以后呢,你可以想灵活的时候呢,再灵活的去处理。啊,一定不能刚开始写代码的时候呢,然后还没掌握一个规范的写法,就开始来回改,改到最后呢,自己都不知道应该怎么去写了啊,那就麻烦了,就啊那对应的一些好的这种课的练习题,那这个代码的话呢,一定要把它写熟了啊。
52:14
就是一遍不行,两遍两遍行三遍三遍呢,其实都算是比较保底的一个说法了啊,有的代码你要知识点不熟悉,三遍呢,你可能都不行是吧,接着可能还得再去敲。你指望说我敲两遍我就整得很熟了,这个除非呢,你有之前的一个底子,比如说基于面向对象了,学的很好了,后边呢,再敲某个东西可能就简单一些。OK啊,这个注意一下,就是重要代码一定要多敲几遍,第一遍呢,你可能花的时间很长,甚至一个小时都没搞定,然后第二遍第三遍,越往后其实越快。OK啊,只有呢,当它变成比较熟的,那才相当于是变成你的东西了。只要不熟这块呢,还是写不出来,得对照着写,那这个东西其实还不是你的。哎,这个你得注意哈,虽然你敲了两遍了,敲了三遍,但还是不行,还得写OK。
53:00
行,那这块回来这呢,因为我们说呢,是里边呢都是new的嘛啊,所以这块你肯定是false啊。这就完事了。啊,这又好几个啊。那这个呢,咱就就放这儿得了。那就这么着啊。行,然后这个呢叫star的位置。嗯,OK啊,这个大的位置的话呢,就是是不是以指定这个字符串开始的。然后这呢,还有一个带参数的第二个参数,它呢,就是从这块儿开始考虑是吧,然后是不是start with。那就这个意思,来来咱们去举例哈,比如说我们还是拿这个S一来说吧,它呢叫哎,Start,哎,With,那这块我们就判断你是不是要想让它是处哈,相当于你是不是以教育开头的。就这意思。你看这个呢,它就是一个处。那他就是以教育开头的,那是不是以教育A开头的。
54:02
显然就不是嘛。那就是false。嗯,这个false了,所以这里边儿呢,你想写几个呢,其实都可以。你说我写俩写仨,甚至说你写一个啊,是不是以教开头的都可以。这个比较灵活,然后接着我们再来一个啊1.startwith,这个还是问说是不是以教育开头的,但是这块呢,我逗号一下,我说从这个角标,比如说二开始。这就是零一啊,从这开始看啊,是不是以教育开头的?显然不是嘛,所以这时候的结果呢,又是false。那你看最后这个就行啊,这呢就是这个false,那如果说呢,012345是吧,从五开始算。是不是以教育开头的?是不是就成出了。你看就出了是吧。没问题啊行,然后呢,下边这个呢,叫给你猜,你能猜出来了,是不是以指定的一个字符串结束,比如说是不是以教育结束。
55:07
那就是处,哎,是不是以古教育结束也是处?啊,这个就不测了啊。好,这块呢,是最后一波了。哎,终于收尾了是吧。这个string当中这个方法呀,挺多的,咱们这儿呢,也是挑着其中的一部分呢,给大家去讲。哎,这个再来一个测试,这个该六了啊。嗯,这个吧。替换是吧。哈喽。这个咱们前面讲这个不可变性的时候呢,提到过他。这个比如说我们当时呢,不是把这个L呢,替换成这个W了是吧。哎,这样,然后这块呢,你注意这个S1变了吗。没有是吧,它的返回值是不是你这个新的呀。所以这个呢,咱不是当时也说体现了这个叫不可变形是吧。
56:02
再走一下。你看L的话呢,还是这个L是吧,S1还是它,然后S2呢,你这个变了。这注意嗯,然后下边这个replace的话呢,你看它这块呢,叫差sequence,差sequence叫字符序列了,这呢其实是一个接口。哎,咱们这个string的话呢,那往上拽。在这儿此类的话呢,实现了这个叉C公司这个接口了,那也就是说呢,我们现在测的时候呢,你这个替换其实你也可以呢,使用这个字串啊。比如这S一点,我还用这个replace这块,你可以写字串,比如把替换成。啊提完成,比如说。WWW这个呢,不一定说呢,俩就得替换成俩,你可以写任意的串了。再返回一下。这个情况是吧,这个我们叫S3。这个呢,我们直接就SS1我就不用看了,这个你肯定它不会变的是吧,S3的话呢,他就把这两个L呢,就替换成了四个W。
57:05
那就这样的情况啊。这个呢,就是也可以放字串,然后呢,Replace or replace first,嗯,这块呢,我们看到的是一个字串了,其实这块呢,我们,诶这个为啥他这样叫呢,感觉这个名好像怪怪的啊,实际上呢,它这是一个合成的词,这个呢叫regular。就是规则啊,这个ES呢叫expression。表达式是吧,哎,所以这块呢,实际上要放的呢,叫正则表达式。哎,正则表达式听过吗?啊,这个有的没有听过了啊,这个正则表达式呢,它其实就是一个有规则要求的一个字符串了,可以这样去看。嗯,这个呢,后边呢,在这个web阶段呢,会去涉及到这个内容啊,简单比如说在这个像的这个手册里边呢,会有啊。这个放到这儿了。啊,简单来说,什么叫正则表达式呢?其实大家呢,就常用的一些,你比如说我们去注册一个用户名的时候,或者注册一个密码的时候,尤其写密码的时候,你写了一个,他其实你说不行,他说要求呢,你必须得包含这个字母的大小写,包含数字,包括呢,你写完之后,他还说呢,你至少得六位。
58:16
啊,像这些要求的话呢,其实就是用正则来做的。它的一些限制,包括用户名也有限制,甚至说用户名也要求你得有这个大小写的是吧,还不能低于几个字符的。还包括呢邮箱。邮箱的话呢,我印象很深刻,我记得我上初中的时候呢,这个用电脑的时候,那时候的邮箱,有时候注册网站邮箱你随便写,写完之后呢,他就给你过了。也就是你胡乱的写一堆东西的都无所谓,但后来你发现不行了啊,这块你要胡乱写的话呢,他会说你输入的邮箱不合法了。所以像这种邮箱是吧,它也有相应的这种验证,包括呢,让你输入一个网址的时候呢,这块你也不是一个合规的一个网址的地址,像这种他都给你报错,这个校验呢,就是使用的这个正则表达式了。
59:00
这个猛一看感觉,哎哟,这个看着好乱呀,实际上呢,这里边的每一个位置以什么开头的,什么结尾的呀,啊有几个字符啊,这块呢,从哪些里边去选呀,都有一些最基本的元素,把它们的拼音起构成这样的一个有规则的这样一个要求,这块呢就是具体的正则了。那这个呢,咱们在Java基础阶段咱们就不讲了,OK,所以说这块这两个方法呢,暂时的就也不测了,这际然呢,在这个string当中还有一些其他方法也跟正则相关的啊,咱就过掉了,好,那么这儿呢,咱们就把这个方法呢带大家过一下,一看呢,就小三十个了。里边有一些方法呢,我们开发中是比较常用的啊,基本上我列出来这些都已经差不多了啊,这个呢,你稍微的捋一捋啊,看一看,记一记,测一测,以后呢,在开发当中我们需要用了这块你拿起来能用OK。
我来说两句