一转眼真是很久不见了,最近半个月真的很忙,出去玩了一下,又要搬家又要学车。课程直接扔了二十一天,今天好不容易有个休息的时间。躺在床上玩游戏玩的非常happy的我在想,如果再坚持一下,我可能就直接放弃python了。

毕竟学习哪有玩游戏快乐!游戏王、炉石传说、各类steam游戏,还有PS4,难道不香吗?

啊~但是我一颗充满危机感的心告诉我,一旦如此堕落,除了很爽之外,还有爽完之后对未来的恐惧和满满的空虚。

无奈之下,只好一点点捡起来复健了。

大约十天前左右,大概是有人往水里投入石灰粉,小甲鱼被逼无奈上来更新了一集python,依旧是字符串系列的,主要内容是删除和拼接。那么,今天的课堂笔记开始~

#字符串删除
#strip(chars=None) #左右都不留白
"   左右不留白     ".strip() #效果为"左右不留白"

#lstrip(chars=None) #左侧不留白
"   左侧不留白".lstrip() #效果为"左侧不留白"

#rstrip(chars=None) #右侧不留白
"右侧不留白    ".rstrip() #效果为"右侧不留白"

#chars=none参数可设置被删除的内容,如:"新垣结衣、长泽雅美、朴智妍、朴孝敏".strip("新敏") #效果为:'垣结衣、长泽雅美、朴智妍、朴孝'。
#这个参数是按照单个字符为单位匹配的,所以虽然设置的一个字符串"新敏",但头尾里的"新"和"敏"都被单独去除了。

#removeprefix(prefix) #删除开头指定的具体字符串
"赵奕欢、新垣结衣、长泽雅美、朴智妍、朴孝敏".removeprefix("赵奕欢、") #效果为:'、新垣结衣、长泽雅美、朴智妍、朴孝敏'

#removesuffix(suffix)#删除结尾指定的具体字符串
"新垣结衣、长泽雅美、朴智妍、朴孝敏、赵奕欢".removesuffix("、赵奕欢") #效果为:'、新垣结衣、长泽雅美、朴智妍、朴孝敏'
#需要注意的是,以上两条以具体字符串为单位的匹配方式要求必须完全匹配("、赵奕欢") 中的顿号放错即无法准确匹配到。

删除没啥特别的,比较好理解。

#字符串拆分&拼接
#拆分
#partition(sep),从左侧开始将字符串以参数指定的分隔符为依据进行切割,并且将切割后的结果返回一个三元组。(三元组就是三个元素的元组)。
"赵奕欢、新垣结衣、长泽雅美、朴智妍、朴孝敏".partition("、") #效果为:('赵奕欢', '、', '新垣结衣、长泽雅美、朴智妍、朴孝敏')。"、"号为分隔符,从左侧开始查找,找到"、"后,将前后内容分开,形成("A","分隔符","B")的场景。
#rpartition(sep),从左侧开始将字符串以参数指定的分隔符为依据进行切割,并且将切割后的结果返回一个三元组。
"新垣结衣、长泽雅美、朴智妍、朴孝敏、赵奕欢".rpartition("、") #效果为:('新垣结衣、长泽雅美、朴智妍、朴孝敏', '、', '赵奕欢'),原理与partition一致。

#split(sep=None,maxsplit=-1),将元素进行可定制化的分割,默认情况下以空格为分隔符。
"新垣结衣 长泽雅美 朴智妍 朴孝敏 赵奕欢".split() #效果为:['新垣结衣', '长泽雅美', '朴智妍', '朴孝敏', '赵奕欢'],通过空格分割,将字符串进行分割,并变成列表内的元素
#sep=None即可指定分隔符
"新垣结衣、长泽雅美、朴智妍、朴孝敏、赵奕欢".split("、") #效果为:['新垣结衣', '长泽雅美', '朴智妍', '朴孝敏', '赵奕欢']
#rsplit,从右往左寻找
"新垣结衣、长泽雅美、朴智妍、朴孝敏-赵奕欢".rsplit("、") #在不定义分割次数的情况下与输出split一致。
#maxsplit=-1即分割次数
"新垣结衣、长泽雅美、朴智妍、朴孝敏-赵奕欢".rsplit("、",1) #效果为:['新垣结衣、长泽雅美、朴智妍', '朴孝敏-赵奕欢'],从右往左找到第一个"、"进行分割。使得字符串被分割为两个部分:'新垣结衣、长泽雅美、朴智妍'及'朴孝敏-赵奕欢'。
#splitlines(keepends=False) #将字符串按行的方式分割,将结果以列表的形式返回。简单来说就是可以识别多系统下的分隔符,如Linux下的\n,Mac系统下的\r,Windows系统下的\r\n。
"新垣结衣\n长泽雅美\r朴智妍\r\n朴孝敏、赵奕欢".splitlines() #效果为['新垣结衣', '长泽雅美', '朴智妍', '朴孝敏、赵奕欢']
#keepends参数为选择是否包含换行符,默认false为不包含,ture为包含。
"新垣结衣\n长泽雅美\r朴智妍\r\n朴孝敏、赵奕欢".splitlines(True) #效果为:['新垣结衣\n', '长泽雅美\r', '朴智妍\r\n', '朴孝敏、赵奕欢']

拆分复杂一些,但也还好吧。

#拼接
#join(iterable),通过自定义分隔符来将多个字符串进行拼接,用列表或元组形式皆可。
"、".join(["新垣结衣","长泽雅美","朴智妍","朴孝敏"]) #效果为:'新垣结衣、长泽雅美、朴智妍、朴孝敏'
"❤️".join(("新垣结衣","长泽雅美","朴智妍","朴孝敏")) #效果为:'新垣结衣❤️长泽雅美❤️朴智妍❤️朴孝敏'
#如不填入任何分隔符,即"".join,则直接拼接。
"".join(["新垣结衣", "长泽雅美", "朴智妍", "朴孝敏"]) #效果为:'新垣结衣长泽雅美朴智妍朴孝敏'

嘿嘿,这个还是最有意思的,我发现代码里原来可以加标签。而且在Mac终端和pycharm里也真的可以展示。

只是终端里显示的会有点错位,pycharm显示正常(显示一错位后,不知道为什么看起来总是有点微博下那些色情广告的感觉)。

代码部分中规中矩,找到这个点还是挺让我开心的。就好像是找到一个彩蛋的感觉。

作为复健的第一天,今天就这样吧。小甲鱼下次更新又不知道是啥时候了,看来放石灰粉还是太轻了,应该往里放……

胭惜雨

2021年01月22日

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据