00:00
那么我们继续来讲解我们本章字符串相关的内容,本小节为大家讲解的主要内容是什么呢?字符串相关函数,所以我们在这里边接着给大家写一下第三部分要讲解的内容啊,就是自算函数。叫做字符串函数,字符串的函数呢,常用的还是比较多的啊,所以我们要逐个给大家讲解哪些是常用的啊,首先呢,先给大家讲解一些与什么呢?与英文单词或者叫与英文字母相关的行不行,与叫做与英文呃相关的主要是大小写转换啊,大小写转换的什么的,我们的这个函数好,第一个给大家讲的函数叫什么呢?叫做upper啊U啊,叫upper什么意思呢?简单的说,它的作用就是将字符串中,将字符串中所有的小写字母。转化为大写。
01:03
小写字母转化为大写。好了,我们来看一下这个函数的应用,行不行,我们写上MY下线扣无下限零二文件。然后点击OK,创建文件,然后呢,先给大家写第一个函数upp啊阿函数好了,阿函数我们在这里边先定义一个什么呢?字符串行不行?Str啊,很多时候为什么不写ST,每次都写STRSTR是类型不可以用啊,所以我们str啊,或者写一个ST吧,行不行?学习啊,Study等于我们的study study study啊,Study hard and make,我们的progress。Every day。Everyday啊,Everyday这么写很多学生啥意思啊,简单说就是好好学习,天天向上的意思啊,好了,然后呢,我们在这里边大家也看到了,我现在打印这个变量study啊,它肯定在我们的控制台也好啊,在这上面看也好啊,都是小写的英文字母,对不对?小写英文字母,如果我希望把这里边的小写的字母转化为大写怎么办呢?那这个时候注意看好了,它的用法是这样的,Result result等于study study点。
02:23
不含了,不好意思啊,Study点我们的uppera就可以了,Up这里边不用放东西啊,好像说这是函数的使用方式吗?是,但也不是,这叫做字符串,叫做字符串方法啊,但是这个概念对大家都太超前了,字符串方法,但是方法的本质是函数方法的本质。的本质啊,它就是函数,所以用起来会比较奇怪,但是大家慢慢来理解就可以了,好吧,它是用字符串变量点up来进行操作的,而不是把字符串传进去。至于为什么我们会在后面讲的面向对象当中为大家讲解啊,那这样一来的话,我们啊,Study通过up函数的操作就会得到结果给result,然后这个时候我们再次打1RESULT给大家看一看我们的result来re UT右键运行一遍,你会发现它的输出全变成了大写,看见了吗?啊,在小写变大写,大写都是大写的,大写不做任何操作,比如说hard,你原来大写还是大写。
03:26
反正最终目标就是全部变成大写,这就我们的第一个函数叫阿函数啊,阿函数没问题吧,来第二个啊,它的格式就是字符串,或者叫做叫它写上啊字符串点up pir就可以了,没有其他参数,OK,然后呢,返回的结果是一个字符串啊好,来看第二个函数,第二个函数则是变为小写的lower啊lower,它的作用是将字符串中所有。叫所有大写字母。
04:00
转化为小写好,然后它的格式是字符串点lower的格式,然后我们来实验一下,打开我们的文件,然后呢,在这里边我们写上lo lower函数L,好,然后呢,在这里边我们把上面这个函这个字符串拿下来一下好不好,接着用它,然后把上面这个函数为大家注释一遍,免得影响下面的操作,123注释一下,然后下面这个我们。结束一下注释好了,为了让我们这个字符串变成大写的,我们可以在这里边干什么事呢?自己重新写一遍,哎,可以也可以干什么事,点击我们这个编辑啊,它这里边可以直接转会,就是大写变小写小要背,大写都可以变,你看。啊,搞错了啊,来再点一下啊,再点一下,因为刚刚是有大一小是变成大写了,好了我们还是老规矩,先打异变这个变量,Studio dy studyy,那么现在输出的肯定都是大写,因为定义的时候说明大写了,那我想把它找回小写,怎么办呢?来生命变量result ret等于study study点不需要任何参数啊,这样就可以了,然后再次打印我们的result。
05:14
来,Is result,我们就会发现这个变量变成了变量中的所有字符串是不是变成小写了是不是?当然这个大小写只对英文有效啊,对其他汉字是没有什么影响的啊。来接着看,漏完了之后再为大家讲下一个有变大写,有变小写的,那有没有大的变小,小的变大的呢?有swap啊,Case。C啊,它叫做什么呢?将大写字母就是大小写互换吧,大将字符串中大小写字母进行呼唤,将字符串中啊大小写字母进行互换。就是大互换互相转换的意思啊,互换就是大写的变小写,小写的变大写啊,它的用法也是字符串点swap wi case就可以了,好了,然后呢,返回我们代码当中,然后呢把上面这个依然注释掉。
06:07
然后这次我们用的是另外一个函数swap case。Swa case,然后呢,把刚刚的study变列复制一份下来,我们把它稍微做修改,干什么事呢?把前面这几个行不行,到make之前变成小写的,后面的变成大写的行不行?好,也就说一半大一半小,那现在打印的时候肯定是前面是小写的,后面是大写的,那这个时候看好了,我们用wi case函数对加进行操作,Result等于studioy s studioy study.swawa case,然后再一次打印我们的结果,Result。好,我们就会发现再次打印的结果里面,前面的变成了大写,后面的变成了小写,是不是大写变小写,现在变大写啊,所以它叫大小写转互换函数啊,大写互换函数,那除了这个之外,我们还有跟大小写相关的函数是什么东西呢?叫title啊,Title开是什么意思呢?它是注意啊,将字符串中的字母啊,字母进行标题化处理啊,进行标题化处理,当然大家很多兄弟们不理解的话,是标题化处理是什么意思啊,那简单的说英啥意思?好我们来看一下操作就可以了,它的格式字符串啊,第二我们的T和上括号。
07:34
然后呢,在这个框没必要啊,标题化处理,然后返回我们的代码当中,把这个wa case也注掉,再写我们下一个例子,好下一个例子title啊title t,然后呢,把我们刚刚这个。Study拿不来啊,无论大写小写都无所谓的。好,然后呢,打印一遍也复制过来。啊,为了看着舒服,我们还都把它变成小写吧,行不行,一大一小看觉怪怪的啊,但是并不影响我们运行的结果,OK,然后在里边运行一遍,好,然后呢,Result等于studioy study study,点我们的title就可以了,也不需要加任何参数,直接打印我们的result就可以看到结果了。来,右键运行一遍,大家会发现。
08:18
是不是单词的第一个字母大写了,是不是,所以标题化的作用就是将我们什么呀,将我们这个字符串中的字母进行进行这个每一个单词首字母处大写啊,每个单词首字母大写,每个单词单词首字母大写,这就是标题化的一个格式,大家听懂了吗?与综上相关的函数还剩下最后一个啊,不,不是与大小写相关的,还剩下最后一个叫什么呢?呃,叫我们的这个单词我也不太好记啊,这个str点点C啊,就capital life,就这个单词啊,Capital life,好,这个先删掉,我只是为了拿出这个单词来啊。这个函数是什么意思呢?它是和,和这个标题很像,但不一样,它是将字符串中。
09:07
将字符串中第一个字母变为大写。变为大写,一般情况下我们也叫它首字母大写函数啊,或者叫它首字母大首字母大写函数。首字母。首字母大写函数,好,这个函数应用起来的效果跟上面是一样的啊,也是字符串,字符串点capital life就可以了,Capp啊,Capital life CPT,不,不,CACA。T,好了,然后给大家写一个小例子,好过我们代码当中把title注释掉啊,Title注释掉,然后把刚刚这个study变量再次复制过来,进行一遍输出啊,不过我们这次要用的是capitalize函数啊,写错了CP啊,套上框,然后呢,在这里边啊,打印一遍原有变量都是小写字母,是不是都小写字母啊,然后我进行操作result.result等于我们SD。
10:14
study.capitalize啊,Capitalize,然后右键没打印的来print打印一遍。On the result。右键运行,我们会发现它的运行结果是只有第一个单词的首字母变为大写了,所以它不会把其他的变化啊,所以叫首字母大写,只会变第一个好了吗?这些函数就是与我们字符串相呃字不是字符串中英文大小写转换相关的函数,OK,是这五个,来,这五个讲完之后,我们接着往下看其他的函数好不好。好,下面我们给大家讲一下什么东西呢?字符串查找相关的函数啊,字符串查找相关的函数。来字符串查找相关的函数,查找相关的函数呢,一共有几个呢?一共应该不能说四个啊,一个叫做什么呢?叫做index啊,一个叫第二个叫做find啊,单是index,还有什么r index r in dex index,还有第三个叫范的啊,叫范的find,第四个叫做什么呢?R范的。
11:26
Find啊,有这么四个与查找相关的函数啊,那它是什么意思呢?我们一个个来为大家讲解这四个函数,首先呢,Index函数,它是什么呢?从字符串啊,从字符串左侧开始,从。字符串。从字符串左侧开始向右啊,或者叫向后都行啊,查找指定字符出现的位置。指定字符出现的位置,好,然后呢,在这里边我们写一个代码给大家看一下,把上面的入掉,我们接下来写我们的例子啊,下面我们写的是与再新建一个文件吧,行不行,咱就不要混在一起了,那在这里边啊,我们然后呢麦下线靠下,呃,这个503啊五下线零三文件。
12:21
这里边儿全是与我们这个查找相关的啊,那在这里边我们先。写一下要第一个学的函数,Index函数,首先在这里边新建一个总称,S加一等于啊,我们写上啊,人生苦短,人生苦短。好,我用Python搞开发。好,非常简单的一句话,然后这里边呢,大家也看到了有Python这个单词,是不是我现在就希望查一下Python在这个字符串的哪个位置,那这个时候我们的index就开始有用了,怎么查找呢?是这样的,Result,也就是我们的位置啊,等于str一点什么呢?Index函数,然后注意看好了,它的用法是这样的,最简单的用法是你告诉我你要查找什么字符串就可以了,比如说我要查找Python,那你就把pth往里一写,那么它就会用这个字符串在我们这个S1里边进行查找,同时找到的时候告诉你它的位置是多少,来,我们在里边可以进行打印好,右键运行一遍。
13:25
答案的结果是七,表明我们的Python字符串出现在S加一字符串上,所以为七的位置也是在这里边,看好了,这是123456,看是不是七,是不是1234567是不是七以后是不是,嗯,就这么个效果,Index。啊撇,所以出现的位置啊,所以呃,Sorry,什么写错了啊,零开始啊0123456啊7P是七是不是啊,以此类推啊,刚刚数错数了,不好意思啊,这就是我们音带的作用啊,非常简单,很多说那我查找的时候这什么意思啊,这个意思注意是在整个字符串中查找啊叫。
14:14
在整个字符串中查找Python字符串出现的位置,Python字符串出现的位置实际上呢,我们可以指定范围的,不是说非得在整个字上找,我可以指定啊,前五个前六个,后五个后六个都可以,那这个时候就得什么呢?把index的格式进行一下改变,我们index的操作格式是字符串。字符串点啊index括上括号,括号里边第一个放的是要查找的字符串,然后后边是有两个可以写可以不写的参数的,什么参数呢?开始索引和结束索引,开始索引写错了,开始索引和写错了啊索引和结束索引。
15:06
所以实际上我们index的格式应该分为多种啊,怎么写呢?一种是这样的,整个字符中查找是不是第二个字符串,点index,我可以这样啊,查找的字符串。查找的字符串,那么你可以把后面两个参数加上去,也可以这样写啊,这把上面这个复制下来,我只写开始不写结束也是可以的啊。不写结束也可以的,这三种格式都可以使用好的说不写开始行不行,哎,这个不行啊,那我们来看一下这几种用法,首先第一个我们已经用过了,是不是来我们来看一下第二种用法,Result啊,Result等于st.index然后呢,第一个是要插入字符串,比如说我们这次查这个苦字行不行,也可以查一个字啊,苦短的苦字,然后呢,从哪开始查,看好了,我从一开始查行不行,那你这里可以写一个一。
16:02
那这个时候其实可以找到它的位置的。它依然出现在索引二的位置,没有问题,是不是索引为二的位置是苦字,因为一后面确实有啊,但是如果你从三开始找,不好意思,三以后三是谁啊,三是不是短字啊,从左往后找,根本就找不着苦字,所以他找不着,看见没有会报错,找不着这个字符串看见了吗?啊,所以可以写开始的,可以写开始了对吧?好,但是很多说我写结束行不行,行,我从第一个找到第几个呢?找到第四个。那很多说这这这几到几啊,很简单,一到四是从数一到了是升到什么短,它不包含四的位置啊,也就是说从开始位置找到结束位置之前的啊,这有苦字吗?有,因为苦字是二嘛,所以也有啊,所以这里边也是存在的是吧,所以一二为二对不对,那你要说从一到二。来右键查不出来,因为苦字是二的啊,但是我们说了这个结束位置根本就不包含,是不是所以没有啊,当然很多学说,那我能不能只写结数啊,那你告诉我只写结束怎么写,你肯定要开始写零才行啊,是不是所以不行的啊OK,这就什么呢?第二种格式它叫做啊,在这种方式叫做在什么呢?指定字符啊,指不能叫指定字符啊,在这个指定索引之后开始查找啊。
17:24
开始查找字符串苦字出现的位置。啊,这是从第一个以后找是不是好了,这个在这个不能叫指定,指定的开始,所以啊,然后还有一种方式就在指定范围内,咱刚刚是不是也适应了啊,也试过了啊,那就是在。在啊,我们的指定范围内,范围内不能这么说啊,在指定开始索引,开始索引,然后呢,到结束索引之间。括弧不包含结束作业啊。
18:02
不包含结束。所以。之间啊,查找字符串,什么字符串都还没写是不是,那这样吧,咱找这个五个字行不行,那在这里边result等于我们ST1.index套上括号,我们查找我字,同时呢,指定一个范围,比如说指定的二到什么呢?八之间,二到八之间应该是二是苦字,是不是八的话应该到Y啊也说之间是会存在这个字符的,那么这样我们也可以查出来啊,来print运行一遍。那么我这出现的位置是可以获取到了,是不是出现在所以为五的位置,是不是0123,这是四嘛,我不是五吗?就可以了,这就是我们index的使用,不过需要注意啊,如果找不着的话,比如说找我们。我们肯定没有这个字符串啊,对不对,那右键运行的结果则是一个字符串,然后找找不到的一个错误提示啊,所以这个是需要大家注意的啊,也就是说找着我给你位置,找不着我给你错误,所以这里边是需要注意一点,它是找不到字符串报错。
19:13
听懂了,好,这是我们的几种方式,然后呢,除了index之外,还有叫rdex,很多时候r index什么意思呢?R index和index刚好是反向操作,它是从右向左查找的,所以你只需要把它的意义整个复制一下,然后干什么事呢?把左右互换一下就可以了,从字符串的右侧。开始向左查找啊,向左查找位置。啊,就这么整,很多说这是啥意思啊,因为因Y1字符串中出现两个相同的字数,怎么办呢?因为我们这里边index和index永远找的是意啊,很多人查找指定字符出现的位置,这么说不精确,应该是第一次出现的位置。第一次出现的位置,所以我们下面也得加第一次,明白了吗?嗯,第一次出现的位置,那这样一来的话,哎呀,从左和从作的效果是不是就不一样了?好,那我们再来看一下我们的例子,返回我们的第三个文件当中去把上面的index注释一下啊,注释一下。
20:11
好,把上面这个注释掉。然后往下注持掉,来看下一个函数r index r index可以说和index功能几乎是完全一样的,甚至格式都一样,唯一不同的就是我刚刚说那个东西OK,然后我们把这个字符串复制下来。然后干什么事呢?我在这里边出现几个重复的字好不好,我用Python搞开发啊。说话了,我是it人行不行,我是叫做。我是it人好,那这里面大家看有好多,我有两个,我有两个人对不对,那查找的时候看好了,如果在这里边我们用的是s result啊,等于ST1.index,如果用index来查找我这个字符的话。我这个字符,那么在整个字符串中,第一个出现我的位置是应该在这啊,它的编号应该是五啊,对不对?所以你打印的时候,Result会是一个五的值,因为刚好是第一次出现,你知道吗?看到没有是不是五,因为从左向右查,第一次出现的五不就在这吗?是不是?但是如果我用Rex的话,它肯定不是五,为什么它后从后往前查它都是这几啊,I负一,负二,负三,负四,负五啊,不是啊,它给的你永远是正向编号,所以它是第17个,你再以看一下零一二三四五六七八九十十一十二十三十四十五十六是不是17啊,所以r index就在这里边起效果了,看见没有从右向左缠绕啊,就这么个意思。
21:42
好,这里边我们的作用和上面是很相似的,在整个字中查找这个出现的位置啊,不过这个都最好加上第一次行不行,因为防止大家不加第一次容易误解啊,都是第一次出现的位置,无论这三个哪一个,都是字符上第一次出现的位置。这个查找我第一次出现的位置,然后我们下面这个也是,它是什么事呢?它是叫做在整个字符串中从右向左啊,注意啊从右。
22:14
向左啊获取查找吧,查找我字我字福。第一次出现的位置。大家注意啊,位置永远是正向编号明白了,获取的是正向,获取的正向索引啊,正向索引不会给你这个负的啊,正向所引啊,没有负的明白啊,你写可以写负的,但是获取的时候是这样的啊,那整个字符中查找我们是直接写了一个什么in index里边写个五,那按照我们index格式,它是不是应该也可以指定范围啊,没错,你的index格式在r index当中依然有效,所以把它的格式复制过来,加一个R就可以了。这两个其实就是一个左右不一样,剩下都一样的一个效果,好吧,然后我们来试一下I desk的其他两种格式行不行,返回代码当中,然后我们继续来查找,这次是从开好了,是在叫做从指定位置啊,从指定开始索引。
23:17
指定它是索引到什么呢?最后啊,到最后查找什么事呢?查找这个,呃,咱找一个字啊,这个查找只有一个是啊查找这个我吧,还查找我行吗?字符出现的第一次出现的位置,第一次出现的位置好那么在这里边result啊等于S。ST1.rindex喊上括号写一个五,那这是整个都是都插了,但是我要指定位置之后干什么事呢?看好了我要指定位置,比如说我就是从这一个。这个叫做这是第几个,这个我是五,是不是我从六开始往后插手行不行,写一个六逗号啊,写个逗号六就表示什么呀,从右往后插找。
24:03
不能这么说,这说实话错,错误的是在六和结束之前,不能说是六以后的所有字符中,从右向左查找第一次我出现的位置,那结果还是17。实际上因为。我们看得出来啊,六以后嘛,为六以后,从这以后唯一的我们就在这儿啊,而且从右向左找,第一次出现就是它就是它,所以不是the result,结果还是17啊,不会有什么变化,还是17是不是啊,好多学们,那我送什么呀,我要从第二开始找吗?那也没有用,那结果还是17,因为从二开始,012,从苦到最后这些字符中查找,但是找的时候是不是从右向左找啊,所以从现在找找找找找第一个又是这个我所以还是17啊,右键运写一遍还是17。看见了吗?啊来,还有一种就是在指定范围内吧,是不是叫做啊,在指定的范围内,在开始索引和结束索引之间从右向左啊从右。
25:06
向左查找,向左查找我们什么字呢?咱找一个随便找一个字吧,找一个这个这个这个还在我这吧,我字符。第一次出现的位置,那么这个时候result就等于str一点啊,INDEX1加R表示测效果嘛,是不是,然后他到我那儿。啊,你写个我汉字,然后指定范围内,比如说我从什么呢,从六到。十之间六对十的话,也就是6789呗,这四个是不是,那大家知道0123456是不是在这,这是六嘛,012345对6789,也就是在这里边加着五字有吗?没有,所以这个时候你打印出来的结果是什么呀?诶result有点运行一遍是错误没有看见没有,因为在我们的六到十之间,也就是从用到这里边之间根本就没有我的是不是,但你可以往前算一算,比如说我在这里边行不行,从什么呢?从01234,我从逗号开始,逗号不是四嘛,从四到十之间,那么这就有。
26:16
四到十之间,四到十之间的话,那是从这到,呃,四四五六七八九十到这儿啊,它是不包含这个H,所以是在这里边,注意是在这个位置还是这个范围内从右向左找,也就说找什么TYP用哎,我发现了没有,所以它这个插角的位置是五。位置是五,看见没有,因为你这个我根本就不在范围内,所以肯定找不着,看懂了吗?这就是r index的几种用法,其实跟index用法完全一致,无非就查找,说从新向左找了是不是啊,不管index high inex,永远找第一次出现的啊,这个切记啊,好了,那index和r index讲完之后还有一个find,好多说find有什么作用呢?Find的效果。
27:00
和index一致啊,和index一样。效果。和我们的index一样。那但是他俩又有一些不一样的地方啊,格式什么都一样啊,意义和格式都一样,你可以把index的格式直接复制给我们的find来使用。啊,直接复制过来,把这里边index改成find字符串就可以了,也可以把r index的用法直接给阿。麻烦好了,很多说这都一样,干嘛要要要写这么累,多余的两个它是它俩确实有不一样的地方啊,来给大家讲一下它俩唯一不也就是find的类型和index类型唯一不一样的地方,然后在里边给大家讲解的是。Find的与范的与index的区别,Index的区别啊,还有我们的阿凡的。和r index的区别,也就是说它俩区别其实本质上是一样的啊,好老规矩,把刚刚这个字符串拿过来。
28:09
然后干什么事呢?我们什么都不用做,格式也不用费得劲啊,直接写一个就可以了,比如说我们result result等于我们t.findd我要找什么呢?我要找PHP,那大家知道找PHP肯定没有,这里边是不是,那找的后果是什么样子呢?找的后果是什么样的呢?如果这里边不是find的而是index的话,后果大家知道找不着吗?报错嘛,是不是?所以程序会报错,告诉你这个紫色串找不着,但是如果这不是用index,而是用的什么呢?而是用的find的呢?那么它的效果就不太一样了,看好了泛会是什么样的效果啊,把Internet改成泛。Find,那么右接运行遍,它不会报错,结果是负一,看见没有找不着的时候,返回结果负一,就表示这不上找了,这也是find和index的唯一区别,R find和r index的唯一区别,所以就是找不着错误的时候不一样啊,在这里边find找不着这么串,它不龌错,返回负一。
29:14
返回负一啊,返回负一啊,返回负一,然后呢,这个。阿的,他找不到字符串也是返回负一啊。这就是他俩唯一的区别,但强到说那这两个到底用哪个,这要看要看我们真正程序开发的时候是用逻辑来处理,还是用错误和异常处理,因为我们后面会有专门的课来讲错误异常处理的方式啊,如果你用错误和异常来进行接收和抛出的话,那么应该用index格式,那如果说你是用简单的if else判断的话,那则该用S比较合理一点啊,所以这个呃,看你实际使用情况才能决定好,好了,那这样的话,与字符串相关的函数大家应该也了解了吧,嗯,好。
我来说两句