如何截取字符函数
在工作中我们经常会遇到某种情况需要截取字符串中某个特定标签之间的内容(爬虫可能用到的较多),适用于很多情况例如字符串形式的xml报文、json格式的字符串以及其它类型的字符串。
因为我总结了有关字符串截取的两个函数来记录一下,以供参考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
效率方面就没有考虑啦,毕竟都用python了还考虑什么效率,哈哈!
截取字符串(字符串切片)
字符串
从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。
获取单个字符
知道字符串名字以后,在方括号[ ]中使用索引即可访问对应的字符,具体的语法格式为:
1 |
|
strname
表示字符串名字,index 表示索引值。
Python 允许从字符串的两端使用索引:
- 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
- 当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3 ……
请看下面的实例演示:
1 2 3 4 5 |
|
运行结果:
i
y
获取多个字符(字符串截去/字符串切片)
使用[ ]除了可以获取单个字符外,还可以指定一个范围来获取多个字符,也就是一个子串或者片段,具体格式为:
1 |
|
对各个部分的说明:
strname
:要截取的字符串;start
:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;end
:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;step
:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。
【实例1】基本用法:
1 2 3 4 5 6 7 8 9 |
|
运行结果:
c.biancheng.net
c.biancheng.net
c.biancheng.net
pcaen
【实例2】高级用法,start、end、step 三个参数都可以省略:
1 2 3 4 5 6 7 8 9 |
|
运行结果:
c.biancheng.net/java/
c.biancheng.net/java/
http://c.biancheng.net
hp/bne.ta/