4、strip()
4.1 strip()用法
strip()的用法简单点来说就是去除字符串两边的空格、换行符、制表符,得到一个新的字符串
print("好的")
结果:
可以发现除了打印出来的 好的 还打印出来了一行换空格,产生空格的原因是因为print()函数,那么想要去除怎么办呢,先用strip()试试。
ok="好的" a=ok.strip() #strip 只能针对字符串进行操作 print打印的空格无法解决 print(a)
结果:
我们可以发现空格还在。所以strip() 只能针对字符串进行操作 print打印的空格无法解决。当然也不是没有解决的方法,end就可以解决
ok="好的" a=ok.strip() #strip 只能针对字符串进行操作 print打印的空格无法解决 print(a,end="")
结果
:
可以发现问题解决,空格去除了。
ok,下面的就不详细讲解了,不清楚的可以评论区或者私信我,我看见都会解答的。下面的代码主要就是想说明strip()只能去除两边的空格、制表符之类的,不能去除中间的,下面会讲解字符串中间的怎么去除。
ok="好的\nhello\ngoodbye" ok.strip() print(ok) oks="\n好的hellogoodbye\n" oks.strip() print(oks) okss="好的\n\thello\ngoodbye" #\t制表符 == 四个空格 ==tab键 print(okss.strip()) oksss="\n\t好的hellogoodbye\n" print(oksss.strip())
结果:
4.2、lstrip()
rstrip()删除字符串右侧空白字符
hi="www " print(hi.rstrip())
结果:
我们发现就是删除右边的空格,空格是因为print()函数输出原因。意思上**rstrip() <==> right-strip()**
4.3、rstrip()
rstrip()删除字符串右侧空白字符
hi="www " print(hi.rstrip())
结果:
5.replace()
replace("旧字符串",”新字符串“,替换次数) 特殊字符换程正常的,一般使用在爬虫中,将一些稀奇古怪的符号换掉
首先我们引入一首诗,但是诗人的出生时代错了该怎么办?
mydemo=" 静夜思" \ " 宋 李白 " \ "床前明月光,疑是地上霜。" \ "举头望明月,低头思故乡。" print(mydemo) top=mydemo.replace("宋","唐") print(top)
结果:
是不是,是不是,是不是用replace()将诗人的出生年代宋换成了唐,并非只能换诗的年代,诗中的任何字都能换。
还是以这首诗为例,将诗中的“月”换成“陶”,诗的水平是不是有提高了【坏笑】【坏笑】
mydemo=" 静夜思" \ " 宋 李白 " \ "床前明月光,疑是地上霜。" \ "举头望明月,低头思故乡。" print(mydemo) top=mydemo.replace("月","陶") print(top)
结果:
g)根据结果可以发现诗中的 “月” 全部换成了 “陶”
再反问一下,难道只能一下子全换吗,不能只换一个吗?
答案是肯定的,当然能
mydemo=" 静夜思" \ " 宋 李白 " \ "床前明月光,疑是地上霜。" \ "举头望明月,低头思故乡。" print(mydemo) top=mydemo.replace("月","陶",1) print(top)
结果:
还是上面的例子,我们发现只是添加了一个参数,就得到了不一样的结果。是不是又学到了
出自之外还有更牛的,多个字符串换多个字符串
mydemo=" 静夜思" \ " 宋 李白 " \ "床前明月光,疑是地上霜。" \ "举头望明月,低头思故乡。" print(mydemo) top=mydemo.replace("低头思故乡","陶同学666") print(top)
结果:
那么垃圾字符又怎么处理呢,诗中的字符串是不是使诗看起来非常糟糕,下面就来看一下怎么处理吧
mydemo=" 静夜思" \ " 宋 李白 " \ "床$¥……?“&*……前明月光,疑是地$¥……?“&*……上霜。" \ "举头望$¥……?“&*……明月,$¥……?“&*……低头思故乡。" print(mydemo) top=mydemo.replace("$¥……?“&*……","") print(top)
结果:是不是看起来非常的舒服
6、split() 分割字符串
就我个人来看,strip()、replace()和下面要说的spilt()可以称作为字符串处理三剑客
我们还是用静夜思来讲解split()的用法。
当静夜思从网上爬取下来的,或者应为自己的原因不是以",(逗号)"分割的,看起来很乱怎么办?当然是找split()
mydemo=" 静夜思," \ "|宋|李白|" \ "床前明月光|疑是地上霜|。" \ "举头望明月|低头思故乡。" print(mydemo) top=mydemo.split("|") print(top)
结果:是不是很好的切开了有人问为什么静夜思前面还有空格呢,能去掉吗?看上面的图,你认为能不能去掉呢?【疑问】【疑问】
好了,文章最后,三兄弟该一起上场了,还是以静夜思来进行演示
mydemo=" 静夜思," \ "$宋#李白$" \ "床#前明#月光#疑是地上霜$。" \ "举头望#明月$低头思故乡。 " print(mydemo) top=mydemo.replace("#","").strip().split("$") print(top)
结果:三兄弟,大哥replace()先将文章中的#全部换掉(双引号之间什么也没剩,等价于delete),二哥strip()上场将文中首位端的空格全部去掉(注意只能去除首位的空格,中间的没法去除,如果想去除可以通过大哥replace(" “,”")将空格替换掉,最后小弟split()上场将古诗通过$分割就得到上图的结果了。怎么样,三兄弟是不是很猛