00:00
好,那我们继续来上课,那么这节课呢,我们再来看一下我们的字符串函数啊,那么字符串函数呢,就比较多了,对吧,那这里边。我们先复制一部分内容啊,CTRLC先拿到我们的这个代码中来新建一个。PB文件啊,叫做05SPD4G啊。然后。好了,我们把字符串的这些函数我们先复制过来啊,复制过来以后我们来看第一个,第一个干嘛呢?叫做差,它是做什么,它说返回相对应的ascii所指定的单个字符,那么ascii是什么东西呢?来我们这里边。That。百度过来对吧,面向百度编程来,你看asci是不是就有了,哎,它有什么呢?它叫阿斯克玛啊,什么叫阿斯克玛呢?它是美国信息交换的标准编码啊,那么任何我们在电脑上看到的任何一个字符,它被。都会对应着什么,对应着这么一个阿兹克玛值,比如说我们在这里边看到了有A对吧,那我们当我们打印A的时候,实际上它的阿兹克玛值多少呢?是65对吧?当我们打一个零的时候呢,它的阿次克玛值多少呢?是48啊那好了,那咱们来看一下,那这个函数是干嘛用的啊,比如说在这里边。
01:14
把它可就LC。拿过来啊,他说返回相对应的asi所指定的单个字符是不是,那好了,那比如说这里边我们来一个叉,这里面单单个字符嘛,所对应单个字符,刚才我们看到有65,是不是给个65进来,进来以后它会返回给我什么,返回给我一个字符吧,那比如说这里边我们来定一个str吧。然后我们来打印未压杠DP打印,打印谁呢?打印这个str。这个时候我们再回到我们自己这里边。找到零,你看拿到了谁呀?是不是大写的A,那你看这里边65所对应的字母是不是大写的A呀,对不对,那同样还有49 49对应什么,是不是对应的,一看这里对吧?那好了,那比如说在这里边再来一个Dollar s tr等于叉,然后这里边我再给一个多少,给一个49,那你看它所对应的是不是就是整形的一呀。
02:06
打印。算信是不是整形的一对吧,哎,返回了一个一,当然它也一样啊,所有的都是字符串类型,因为符串函数嘛,那所有的都是字符串类型啊,这就是什么,这就是它返回对应通过我们指定阿兹克玛值,它返回对应的字符对不对,哎,那同样那能这样的话,那我比如说我不可能每次要需真要需要用到的时候,我每次都去查找这个阿兹克玛值对不对,那能不能通过某个字符返回对应的阿斯克玛值呢?也可以啊,比如在这里边。我们可以通过什么呢?通过第二个叫做old。CRC。把它放到这里边来啊,O干嘛呢?你看将字符串的第一个字节转换成什么?Ascis是转换成阿斯柯玛值啊,那比如说这里边啊,我直接一个这个Dollar asci ii asci ii等于什么呢?等于old,比如说我要将谁的它注意它是将一个字符串的第一个字符,那我就不如直接给一个字符来测试了,是不是,比如给个小写的A,然后我们未安装DP,看它的R次克码值是多少。
03:06
到了ascii好了,那这个时候我们来看刷新多少啊,97是不是对应了97,那我们看这里边97是不是小写小写的A。对不对,哎,那同样刚才我们测试过大写的A了,那再来一个到ascii,等于一个O的一个。大写的A对吧?那我们再看它的阿兹克玛值是多少Dollar了ascii。再来刷新。是不是依然是65。对不对,哎,那OK,这是不是就是。我们通过一个字符来获取它的阿兹克玛值,也可以通过阿兹克玛值来获取对应的字符啊,哎,那有了它有什么作用吗?那比如说我这边有个字符串啊,叫做什么呢?叫做这个刀了,呃,Str等于等于什么呢?等于这个l monkeykl monkey,那么现在我想干嘛呢?我想将。字不错。转换成。
04:00
大写。啊,我想将这块长得大写的话,那是不是就相当于我要找到这个L给他干嘛呀?拿到它的阿斯克玛值,拿到阿斯克玛值以后,你看比如说L的啊,L的阿斯克玛值在这呢,是不是108,小写的是不是108,我是不是让它对应转向成大写,大写多少?大写是不是76,那他俩中间差多少,差的是多少,是不是32啊,那是不是108减去32是不是就得到了大写的值,然后我是不是就可以转化成大写的这个L了,对不对?哎,那这样的一个思路,那现在咱说了,我们这个函数啊,无论是O也好,还是差也好,它只针对一个字符,而我这是一串字符,那怎么办,我们是不是就得遍历这个字符串了,那所谓的遍历是不是就一个一个去用,那实际上字符串也是有下标的,你看比如在这里边啊。到了str中号零零下标,你看我来输出是不是就是L啊。这里面输出是不是一个L对吧,那再来一个一下标呢,一下标是不是就M。看到是不是M对吧,那二下标呢,是不是就O啊,再来二下标是不是就O看到了吧,也就字符串是不是也是有下标的对不对,那既然能有下标,我是不是就可以循环变利了,For循环,比如说Dollar了I等于零对吧,然后到了I。
05:12
哎,小于小于多少啊,你看这里面1234567是不是小于七,那是不是零到六的循环,是不是就每次它就是它的下标走,哎加加。对吧,那这里边我是不是就可以输出,输出什么呀,输出Dollar s tr里边的谁呀,Do iva,然后每输出一个,我给他一个BR,那你看这个字符串,我是不是就对它进行操作了啊,来刷新,你看l Mo是不是就操作了。对不对,那好了,那现在既然是这样的,那你看我不可能每次都去数这个东西,那么有肯定也有一个东西可以帮干嘛,帮我统计它的长度吧?那在学数组的时候,数组是不是用count来统计,统计谁统计SSP,那数组可以帮我们统计这个长度吗?来,我们来看。抓紧行吗?支付输出一个一,然后告诉什么必须。Must be an ary说必须是一个速组啊,哎,或者说or an对象或者是一个对象对不对,所以用它不行,那么字符串里边有专门对字符串进行转换的叫什么呢?叫做s tr len干嘛呢?将叫统计字符串的长度啊,统计字符串长度,所以这个时候我可以干嘛?咱们来看我在这里边到了SSPR错了啊,Dollar了,L1N等于SSPRL1括号把先扔进来,把它扔进去,SSPR扔进去。
06:23
好了。遭了SSPR扔进去,扔进去以后就会专门再来打印VR-Du,打印谁呢?打印这个遭了len。好了,那这个时候来刷新,你看好了返回多少,返回是不是印的一个七呀,哎是七呢,这块我是不是就可以直接放什么放L。到了len便利是不是也是也是正确的,那现在再来刷新是不是也问题,那比如说后面我再加加一什么edu,你看。是不是每一个字符都遍历出来了,那遍历完以后,咱说了最终我要干嘛,是不是将它转成大写呀,那转大写的话怎么办?是不是在这里边我就要去。拿它对应它的阿斯克玛泽Dollar as SCI等于等于什么等于O的,把这扔进去,把这个STSTR中括号里面的do I扔进去,对吧?每一个字符扔进去以后,这里边,比如说我做一个s tr ing,一个新的一个字符串啊,扔进去以后我是不是对应的个减32,获取它的大写值,获取大写对应大写。
07:21
字母的ACI20克玛值吧,那获取对应大写的20克玛值是不是就是遭了?Ascii减等于多少?减等于32啊,它们看它们之间每一个距离是不是都是32,来这里边你看好了。比如说小写的A97,大写的A是65 65加32是不是就97对吧,那以此类推,你看每一个是不是间间隔都是32,所以在这里边我是不是直接减32,减等于32,是不是就对应了拿到它大写的值了,拿到大写值以后干嘛呀,是不是在。转换对应的什么呀,对应的大写。字符吧,哎,那也就是刀了,S t ing,让它点等于什么连呢?连上谁呀?连上这个叫做叉,然后把谁扔进去,把刀了ascii扔进去好了,那完事循环完事以后,最终我们来为阿钢DMP打印这个Dollar SDR。
08:12
以及V压杠DP再打印谁啊,到了s SP ing,那你看现在是不是就可以了?来返回来刷新,我是不是将这一串小写的转换成大写了?看到了吗?那同样大写转小写,是不是也依然如此啊?对不对,哎,但是呢。我想做一个这样的效果,什么效果呢?就是比如说这里边啊,叫做这个edu edu work。爱。啊好了,中间我再加什么呢?加上一个空格啊,再加个一加个二,然后要求是什么呢?将。该字不串。等会儿。W。
09:00
将该字符串从大写变。小写,小写变大写,其他内容保持不变。保持不变啊,因为对应的I的符它有阿兹克玛值,一也有,二也有,空格也有。明白吧,啊,所以这个是一个作业,大家需要去干嘛,下来以后啊,你要把它给我完成来,我把它复制出来啊,复制出来以后在这里边我们去新建一个。文字。模板。啊,也就作业一。作业一啊自定义一个自定义一个函数,可以将字符串中啊小写。字母转大写,大写。字母转小写。对吧,然后其他内容不变,其他内容不变啊,就好比是这么一个字符串,那OK。
10:00
好了,那第一个作业我们已经留完了,那现在这个差跟这个O会了吧,好了,那会了以后再往下来看,下面还有什么。函数需要我们去知道呢,找一下还有什么这个funk-split干嘛的呢?它是做字符串分割的,看到吗?将字符串分割成小块,那OK ctrl c ctrl v我们给它。C啊。好在这里边。再来。将字符串分割成小块,那我得有这个字符串才行吧,比如说我定一个Dollar s tr follow str,等于什么呢?等于AB,大写吧,ABCDEFGHIJKLMN。OPQRSTUVWXYZ,好了,这是我的26英文字母对吧?那么接下来以后chuk。是的,把str丢进来,丢进来以后啊,他干嘛呢,他就将。分割对吧,那我们返回一个这个new s tr,一个新的,然后我们再来为阿杠DP打印,打印谁打印这个new s tr好了,当我们打印new s tr的时候,这个时候我们再来看结果来。
11:07
有没有分割,是不是换行了。看到了吗?哎,有框条,如果没有的话,你看我打印原样的啊,打印原字符串SSPR,你看原字符串在第四十五行的原字符串是什么样的,是不是一行,而我这里面只要加上分割函数以后,是不是它在结尾的时候自动帮我做了个换行,对不对?哎,这就是什么?这就是它的分割,那家说那他用它分割有什么用啊。他肯定是有用的啊,这里面爷爷给你提示了默认是什么,你看。默认结束是不是已结束,用杠R-N是不是以换行来分割呀,对不对,那也就是说我可以干嘛指定它的分割符嘛,那比如说我来指定一个用什么用横杠来分割,用横杠来分割,那这个时候你再来看刷新。告诉我行啊行吗?不行吗?哎,返回一个空对吧,因为什么,因为参数的位置是不是没对应啊,哎,所以这里边我需要去干嘛,需要去对应它的参数诶。去对应它的参数位置,那么第二个参数什么意思呢?这里边它可以指定每几每间隔几位一分割来,我再复制一个出来,把它注释掉啊,还是用它,这里边我给它设置第二个参数看好了,比如说我说每两位一分割啊,那现在你看。
12:14
刷新是不是每两个就已换行,默认分隔符是不是就换行啊?哎,那好了,那我还能怎么办呢?我还可以再来,我说分割符是什么?来CTRLCCTRLV把它注释掉啊,比如在这里边我说要用横杠给我做分割,那好了,这个时候再来走,你你看是不是用横杠给我做分割了。对不对,哎,这就是咱们分割字母串啊,那么分割完以后有什么用吗?肯定是有用的,但是光靠它是不行的,需要配合什么,配合这个X pro。这回再来看,我把它放到这里边,X它是干嘛呢?它是将你看将字符串使用另一个字符串分割成什么,分割成数组,哎,也就是说它是干嘛将字符串转换成数组的啊,那好了,那现在我得到这个字符串了,我想给它转换成数组,到了A等于xlo X p。
13:06
对吧,你要。用谁分割对吧,我要用横杠分割分割谁分割这个new s DR,那最后他就给我拿到了这么一个数据来。V-dop打印打印谁啊,打印这个到雷啊,你看这个时候大家来刷新,我是不是得到了这么一个数组啊,哎,为什么数组中最后一个元素是空呢?因为在YZ后面是不是给了个横杠,横杠后面是不是没有内容啊,所以它通过横杠分割最后尾是不是就是一个空的。对不对?哎,这就是说将字符串分割成什么,分割成数组,那一样我们能将字符串分割,数组也可以干嘛呢?将数组分割再转换成字符串,那将数组转换成字符串,那我需要对应的用什么?用我们的X explo。这怎么两个呢?啊,它有两个这个参数,两两种写法是吧,来,那我就复制这复制这个了啊就这。这叫将。
14:00
数组转换成字符串啊,那这个时候再来Dollar a Dollar a等于错了啊,Dollar spr等于什么呢?等于M。Plodlo,你要将谁将哪个数,将这个数组,我注意啊,我直接给了一个参数是吗?那这个数来VDOP。打印遭来加好,现在我们来看。刷新行不行?是不是返回我最原始的这个字符串了,对不对,哎,就是给他一个参数的时候,那如果给俩参数呢,再来看CTRLC,我再复制一个啊,给两个参数。两个参数的啊,也就是说你用谁分割我不你要分割哪个数组,你要这个连哪个数组,是不是连这个数组。对吧,然后呢,你的分割符是谁,比如说我这里边我的分割符。是横杠对吧,我连接符是横杠,那这个时候再来看刷新,你看是不是又还原成刚才我们切割的这个效果了,对不对?哎,这是什么将字符串转,就将数组再转换,什么转成字符串,这个呢,是将字符串转换成数组啊,这两个我们未来会常用,尤其是在写项目的时候,因为pap实际上干嘛呢?其实实际上就是玩数组玩字符串啊,所以这块内容大家一定要掌握啊,这就是X pro跟m pro,一个是将什么将这个数组转换成字符串,一个将字符串再转换成数组,对吧?这里边有两个参数,第一个是你用什么分割,然后分割哪个字符串,而安lo呢,你可以给两种格式,第一种就直板数组给的。
15:29
把输出给他,它默认用什么分格,默认是不是就相当于用空白分割了,对不对?而第二种呢,是你指定这个分割那个连接符,然后他用你指定连接符,比如说我换一个我不用它了,我用什么呢?我用个and符来连接,那你这个时候你看我整个字符串中间是不是全都加了and符。看到了吗?哎,这就是咱们这个安的功能啊,好了,那他完事我们再往下来看,还有什么呢?还有这个一个系列。跟这啊这一个系列。
16:00
这个系列我就直接放在这儿了啊,Tri干嘛呢?它要删除两边的空白,L tri呢是删除左侧的空白以及预定义字符,L tri呢是删除右侧的空白以及预定一字符,Tri呢是删除两侧的空白以及预定一字符啊你看去除两端的空白字符对吧?那这里面咱们来看啊,比如说我们来做一个到str等于等于什么呢?空格空格什么,我来个五角星吧,五角星。来个牛叉人物。牛叉人物,再来个五角星。再来个空格,好,现在我们来看啊,当我打印它dump的时候。打印到str,它的长度是多少?这里边有几个字?四个字加两个。符号这是几个了?566个对吧,三六十八十八,那你看至少它是超过18了吧。是不是20啊,为什么20,因为前面有个空格,后面有个空格吧,他说是删除两边的空白,那这个时候我是不是就可以使用LTML。
17:01
T。TRM啊,不是L直接去删掉这个字符串两端的空白,对吧,然后他会给我返回一个新的字符串,好了,那这个时候我们再来打印。打印这个新的S架,那这个时候我们来看。刷新你看长度数变成18,这两个空白是不是删掉了对不对?哎,这就是它的这个默认的情况啊,那还能怎么办?比如说我能不能删掉这个叉或者这个星呢?那这里边也可以,比如说这里边咱们来看Dollar s加等于什么呢?看可能谁,我直接把它拿过来啊。我这里边我说。Dollar new ST等于TM。我要删掉这个spr,删掉这里边两边的什么呀,两边的五角星。五角星啊,然后还有个什么,还有空白是空白加五角星啊,哎,我先不给空白啊,先不给他,就是给刚给五角星,我们看可不可以来VR。
18:02
Du。MP打印到new str,好,现在我们来看它的结果啊,来刷新五角星有删掉吗?没有空白是不是有删掉吗?是不是也没有,对不对,哎,因为什么?因为我给他指定参数了,那它的第一个是不是空白啊,所以你需要干嘛是空白五角星明白吧,哎,后面这个无所谓了啊,无所谓他都会删,这个时候你再看刷新。是不是两个物流全都给你删掉了?对不对,哎,这三两个包括啊在这里面,比如说我这再来个什么,再来个叉,来个牛吧,来个汉字,你看他能不能删掉啊,来再来刷新。是不牛也被删掉了,只剩差人物了吧,哎,注意他俩他们没有顺序关系啊,你比如说我先给什么,你看这里面我三五角星,直接三我五角星空格,五角星和空白是不是相当于俩啊,这个时候再来,你看五角星和空白是不是也都会没有对不对?那咱说了,那我能不能这里面再来一个什么,再来个叉行不行?那你看再来刷新行吗?不行对吧,我再加一个加个牛呢,加一个牛是不是牛叉呀,来刷新。
19:02
牛叉是不是被删掉了,哎,是不是只留人物了,看到了吧?哎,这就什么删掉两边的啊,那如果我一样啊,在这里边。还是这个这么算啊。CTRLC。好了,我给它复制过来了啊,复制过来以后,那我是不是可以用LLT。MM处删掉谁删掉它对吧,删掉左边的预定义空白,那这个时候它也一样,返回一个新的,然后我们再来为家dop打印。打印谁呢?打印这个刀了,有心的那你再来看。走,你。左边的是不是就没有了,看到吗?长度数不变19了,那同样蒙左是不是就能右啊,哎,同样是不是直接给R就可以了,哎,R tri,你看这组是不是就右边。是不是右边就没有了,前面是不是就有一个了,对不对,那同样我能这么删,我还可以怎么办,我也可以给他指定指定一个参数啊。来把这个我注释掉了,注掉以后,比如说这里边我要删掉谁啊,删掉一个空白,再删掉一个五角星。
20:02
你看我右边的五角星是不是就没有了。看到了吧。哎,这就是咱们什么删除左边和右边啊,这就是咱们这一系列的这个删除预定一字符或者是空白的啊,那就是说那我能不能指定到某一个,比如说我就想删除中间这个人,那行不行呢?行不是不行,但是用它就不适合了啊,那好,那这节课我们先到这里,下节课我们再继续介绍我们的这个字符串函数。
我来说两句