目录
书接上回,使用字符串时,空白在某些情况下是不需要使用的,或者使人困惑,比如‘python’与‘ python’,样子差不多,但对于电脑,他们是完全不同的字符串。
在我们登录某个网站时,需要对比输入的用户名和已存在的用户名,如果能剔除输入内容的空白再做比较,情况将会简单的多。
删除空白
删除空白的方法名为str.strip()。strip本意可能是脱光,脱衣,在Python中表示删除字符串两端的空白,使用方式如下:
str1 = ' 我欲乘风归去,又恐琼楼玉宇,高处不胜寒 '
print(str1)
print(str1.strip())
结果如下:
我欲乘风归去,又恐琼楼玉宇,高处不胜寒
我欲乘风归去,又恐琼楼玉宇,高处不胜寒
另外,strip除了可以删除空白,实际上它还可以删除两端的任意字符,只需要在括号内写入该字符即可:用法如下
str3 = '@@@@劝君更进一杯酒,西出阳关无故人@@@@'
print(str3.strip('@'))
结果为:
劝君更进一杯酒,西出阳关无故人
注意:strip还有两个变形,分别是lstrip rstrip,意思是删除左端l和右端r的空白或特定符号,用法一致。这里就演示了, 大家可自行实验。
练习:存储一个人名,并在其开头和末尾都包含一些空白字符。 务必至少使用字符组合"\t"和"\n"各一次。 打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数 lstrip()、 rstrip()和 strip()对人名进行处理,并将结果打印出来
字符串的索引及切片
字符串是一种序列,一个有顺序的队列,所谓顺序,就是里面每个元素的位置都是有编号的。比如创建一个字符串:
str4 = '斜阳草树,寻常巷陌,人道寄奴曾住'
第一个汉字的位置是0,第二个汉字的顺序是1,依次类推。
这里的位置常常被称为索引(下标),也即是索引从零开始,另外,最后或者最右侧的符号索引也可以用-1表示,那么-2就是倒数第二个,依次类推。
若想输出str4中的斜或者其他的汉字,则使用中括号,演示如下:
str4='斜阳草树,寻常巷陌,人道寄奴曾住'
print(str4[0])#斜
print(str4[5])#寻
print(str4[2])#草
print(str4[-1])#住
print(str4[-3])#奴
字符串的切片与索引紧密相连,类似于用刀切香肠,可以用来获取某段字符串中多个连续或索引变化有一定规律的字符串,比如abcdef的索引分别是012345,那可以通过以下方式获取某些子串:
str5 = 'abcdef'
str6 = str5[0:3]#0,1,2
print(str6)#abc
print(str5[1:-2])#1号为b,-2号为e 也就是[1:4],即bcd
切片还有一个用法,用来获取母串中索引增减固定的子串,例如:
str6 = 'abcdefg'
print(str6[1:5:2])
#这是指从1号索引开始,到4号位置,索引间隔为2
#也就是会输出1号,3号
#也就是bd这个字符串
对于字符串,还会涉及到字符串的遍历,这里常常使用循环进行,所以放到循环那一章,此处先按下不表。