00:00
各位,我们接着给大家继续讲解。勾。Go浪里边的字符串函数,那上午呢,我们讲了就是其中的一部分,对不对,那下午我们来看下一部分,那下一部分我们来看看这里的内容哈,就是这块。我们把这块呢,给他做一个说明。还是老规矩,把它整体拿到我们这边来。12。这是第12个要说明的函数。OK。12。我们把它简单的板述一下。12这是这是第14个,这是第15个,我们来看一看,嗯,第12个是这样子说啊就说。我们如果想返回子串在字符串最后出现的一个位置,我们前面这个呢是返回第一个出现的位置,这个呢是返回最后一次出现的位置,可以用last index。
01:07
是吧,所以刚才我讲过嘛,既既然我们可以得到第一个出现的位置,当然也可以得到最后出现的位置,我们把它整理到这里看案例。看这个案例,我们把这个案例呢,拿过来用一下就可以,非常的简单。好,我们看这里面有个GOGO,那然后呢,这有个go,我们想看一看这个go,那在这个字符串里边最后出现的index是多少,我们就可以用last index函数来处理,来用index接收一下,因为上面有一个index,所以说我这呢就直接用了。我们来输出一下。来看一下。Index出现的位置,我们我们先自己看一下应该是多少,同学看一下,这是零。这是零对吧,这是这个地方是零,这是一。
02:02
这是二,这是三,应该是三。没有问题的话,应该是三,对不对,应该是三,好,我们把它处理一下,看看是不是三。CD到我们这个目录里边去,CD chapter。六里面我们有一个叫做string function,然后呢,运行刚才我们写的main,顶go跑起来看一下。我们可以看到最后应该是等于三,完全正确,好,这个就是求最后。字符串返回最后一次出现的位置。好,同样我把这块呢给大家整理一下。Last index,记住它。那么这个是求最后的,那我们接着往下看。下一个。好,下一个呢,我们看看将指定的子串。
03:01
替换成另外一个子串就是替换,这里面有个函数叫什么呢?叫replace,就这个。Replace这个是什么意思,我们看一下,比如说我这有gogo哈,那么这个地方这个go呢,就是我想替换的,我想把它替换成什么呢?把它替换成go语言。就说我把go这个字子字符串替换成go语言。那么这个地方后面有个N,这个N呢,指定你希望替换几个,如果你写的是负一,则表示全部替换,比如说我这个N写了个一,那就替换,按顺序来就替换第一个,第二个就不替换了。如果你想全部替换,你把这个N写成负一就可以,也是非常简单的一个。同学们好,我把它呢给大家整理一下。看第13案例。整理好。好,那这块呢,我就直接用。直接用它来测试一下就可以,非常简单对不对,好来看一下,那首先呢,我们来接收一下寸。
04:08
注意,同学们再说一遍啊,我。我们这样子的话呢,比如说我写个一,写个一的话,我们看看得到的这个十寸是什么,大家可以猜一猜十寸。是多少?我们可以猜出来对不对,其实你看一下这个地方,把go换成go语言的话,那么这第一个这个go,这个go就会变成go语言,第二个go呢就不会变了。他只会只会变一个。那我们看一下或者这样子啊,这样不明确的话,直接把购换成换成什么呢?换成这个,比如说北京。好,那这个第一个go就变成北京第二个go呢,不变跑起来。看效果。我们可以看到第一个go变成北京,第二个go没有变化,那如果说你要换两个,那就写二,如果你想全部换,只写负一。
05:04
如果你写负一的话,所有的购都会被替换成北京。看效果。看是不是这边换北京,这边也换成北京了,是不是,但是我要强调一点,同学们,我要强调一点,这个地方,这个地方实际上也是可以是个变量的,比如说我写这个大家看啊,十寸二。比如说十寸二。我把这个字符串呢,直接放到这个变量里边去。那我也可以把十寸二直接放在这个位置来。大家不要认为这个地方必须写写明写写成一个常量,这里也可以是个变量,对吧,就是你这个十寸二这个地方是传进去的也可以,那这样子效果呢也是一样。再看,跑起来了。诶,我们看到这边有个问题哦,是不是十寸二上面已经有了呀。是不是有个十中二了?啊,果然有个十寸二,那果然有个十寸二的话呢,那我就直接用它就行。
06:05
果然有个十寸二跑起来。我们可以看到一样的,我我这里要强调一点,强调哪一点呢?就是你这个替换完了以后,十寸二有没有变化,我问大家。就十寸二是不会变化的,它是它是这样子的,它是把十寸二里面的内容替换完了过后,返回了一个新串。新创叫寸,是个新串。那时钟二本身并没有发生变化,就是被就是前面这个串是没有发生变化的。理解啊,大家千万不要认为说我替换完了过后十寸二本身也发生变化,十寸二本身是没有变化的,而是返回了一个替换过后得到的新串。这一点请大家一定要搞清楚,那我给大家看一下。我们看看十寸二本身有没有变化呢?仍然这样输出一下B停。打开效果,时钟二本身并没有发生变化,走起来。
07:03
看效果。同学们看到,同学们从这里面可以看到,你看被替换过后。这个是北京北京哈,但是原先的那个呢,仍然是gogo哈,这点请大家一定要重视,别把它搞。搞混淆了。好的,这点大家看有没有理解。一样把它进行一个整理。放这儿。这块。好的,这是关于替换的内容的说明,那下面我们接着看14个按照指定的某个字符进行分割,将一个字符串拆分成字符串数组,数组这块虽然我们还没有学,但是呢,大家简单的看一下,应该问题也不大。什么意思呢?就说比如说我给了一个字符串。但是呢,我想把这个字符串按照后面指定的字符或者是某个特定的字符进行一个拆分,把它拆分成一个新的字符串,这个用的很多。
08:07
这个确实用的很多,叫split。那我们来看看他这块是怎么使用的,来看一个案例。走。走起来。同样啊,我们把这。整一把。老规矩这块呢,我就推给了,就直接用它我们来写一个东西。好,我们来写一个,比方说我这里一个是。它会把它做成一个数组。等于它这什么意思呢?就是说大家看这里面不是有hello word OK吗?但是你看到这有一个逗号,对不对,这也有一个逗号,是不是这两逗号,然后呢,这个地方这个逗号表示什么意思呢?就是代表我待会儿我待会儿要这样处理我我按这个逗号。进行拆分。
09:00
那这样拆分完了过后,这有一个hello,这有个word,这有个OK。诶,也就是说这个数组呢,就会有三个元素,一个是hello,一个是word,一个是OK,为什么?因为我是按照逗号进行拆分的,来给大家看一下是不是这样子。走一个。好的,是正R等于说出来给大家看一下。然后呢,是string。来一个换行。把这个LN换成F跑一下。跑起来看一下。我们可以看到这个结果跟我们想的是一样,看这里,同学们看这这有一个hello,这一个word,这有OK,这样大家可能看的不是很明白,说诶老师这帮是一个数组吗?确实是一个数组,我给大家遍利一下。我给同学们便利一下four。其实这个时候已经可以变利I等于零,I小于小多少呢?那我们前面讲过N这个函数对不对?它是可以计算出数组或者是一个字符串的长度。
10:11
那这块就是一个数组了,它应该等于三,然后呢,I加加。写完,然后我们在这里呢,给它输出来。好输出一下,比方说我这样写。好,我有格式化一下吧。把这里写个V。写个V。等于V,好,我们来处理一下,看看这个怎么写,第一个把它的index写出来,第二个把它的值取出来,值怎么写呢?那就是string r里面的I就可以。同样,我们每打一个给他来一个换行。大家跑一下。看效果。同学们可以看到,这个时候我们拿到的是第一个,同学也可以看到。从这里看到大家看零是哈,第二个元素下标对对应一是个word,然后第三个元素下边对应二是个OK,好,这样就达到了。
11:10
所以如果我们将来有一种需求,就是要把一个字符串进行某一种方式的拆分,得到一个数组的话呢,就可以用split,还是老规矩啊,同学们这个地方。就是老师现在高亮的地方也可以是一个字符串的变量,同样它改变的呢,也他也不会改变这个字符串本身,而是进行拆分形成一个数组过后得到的一个新的数组,也就是说它本身不会改变,它本身不会改变这个字符串。跟前面老师讲的replace是一个道理。他是得到一个新的,如果真的要改变的话,那这方一一定是传一个引用进去才会被改变,但实际上大家看传的并不是引用,而是传了一个子拷贝,也就是说这个split拿到了是他的一个纸拷贝,因此他在这里面做的变化呢,并不会影响到这个串本身,明明白我的意思吧。
12:04
跟前面老师讲的这个道理一样,比如说two并没有被改变,是一个道理。这点请大家一定要重视啊,好的,这是我们讲的split这一个函数的使用。我把它整理一下。放到咱们的一个位置,这是split。也非常简单。那现在呢,我们再看最后一个。这如果我们在进行这个字符串进行大小写转换的时候呢?它也提供了一组方法,一个叫to no,一个叫to upper。比如说我们在进行密码验证的时候,假设我们希望我们并我们不区分这个大小写,或者说大小写我们要统一进行验证,你可以先把它进行一个大小写转换,再进行判断。也是用的比较多的,那给大家演示一下。就是把字符串进行大小写的转换来验一个。
13:04
验证一个。好,同学们,我把它放到这里来。整理一下。同学们看代码,同学们看代码。嗯,我们直接来来给大家演示好吧,比如说我这有个字符串。我这有个字符串。叫做go。那。Hello。好,同学们看这个字符串呢,里面里面有小写的字母,也有大写的字母,对吧,有小写有大写,那现在呢,我想把它统一的全部换成小写的,你看我怎么处理怎么看。这样子。我这样写是准点,To nor。然后呢,我在这里把这个字符串放进去,大家看我这个写法跟刚才有点不一样,我是直接。把这个字符串变量放到这个参数里面去了,同时我把这个返回的结果交给了时尊,那意味着什么?那意味着这个也会被改变。
14:09
明白我的意思吗?我们以前是给的新的变量,比如说给个三。那这样子的话呢,尺寸是不会改变的,但是如果说我直接就把返回的结果返回给他那。当然你上面这个有发生变化了,能理解我的意思吧,就看你怎么用。上面也是一样,上面也是一样,也上面也是一样啊,这个也是一样,比如说你替换完了过后,你直接直接把寸。十寸to,针对十寸two进行改变,然后你这接受的时候呢,就十寸to好,那也相当于上面这个也被改变了,是这意思吧,啊也被改变了。好了,这一可能请大家注意,我这次呢,就想彻底的改变它,于是乎,我把返回的结果直接交给了这个师尊。好,同学们,我们把它输出来看一下。拍效果。这边有个string。
15:00
然后呢,我们又输出十寸。这样子输出来是什么呢?大家可以猜一猜,这个输出来就应该是go呢,然后哈,因为全部改成了小写。跑起来。该效果。我们可以看到全小写了是不是?当然有些同学老师我要全部把它改成大写又怎么办呢?非常简单,你把这个to no改成upper。Upper就是全部大写,好,你看我再来执行一下,我再执行一下的话呢,因为我上面执行的,我又执行了一次,那下面就应该全部大写的go对不对。跑起来。这次应该输出什么呀。全部是大写的,看goon hello,没问题,好,这是一组to和to up的演示。给大家板述一下。好。我整理一下。
16:02
这是这块的内容,好,同学们,那关于我们字符串的第二组的这么几个函数就给大家介绍到这里,基本上就是所见即所得,比较简单。
我来说两句