首页 > Python > Python字符串常用方法
Python截取字符串(字符串切片)方法详解
从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。
Python 允许从字符串的两端使用索引:
请看下面的实例演示:
【实例1】基本用法:
【实例2】高级用法,start、end、step 三个参数都可以省略:
获取单个字符
知道字符串名字以后,在方括号[ ]
中使用索引即可访问对应的字符,具体的语法格式为:
strname[index]
strname 表示字符串名字,index 表示索引值。Python 允许从字符串的两端使用索引:
- 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
- 当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3 ……
请看下面的实例演示:
url = 'https://www.xinbaoku.com/python/' #获取索引为10的字符 print(url[10]) #获取索引为 6 的字符 print(url[-6])运行结果:
i
y
获取多个字符(字符串截去/字符串切片)
使用[ ]
除了可以获取单个字符外,还可以指定一个范围来获取多个字符,也就是一个子串或者片段,具体格式为:
strname[start : end : step]
对各个部分的说明:- strname:要截取的字符串;
- start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
- end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
- step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。
【实例1】基本用法:
url = 'https://www.xinbaoku.com/java/' #获取索引从3处22(不包含22)的子串 print(url[7: 22]) # 输出 zy #获取索引从7处到-6的子串 print(url[7: -6]) # 输出 zyit.org is very #获取索引从-7到6的子串 print(url[-21: -6]) #从索引3开始,每隔4个字符取出一个字符,直到索引22为止 print(url[3: 22: 4])运行结果:
www.xinbaoku.com
www.xinbaoku.com
www.xinbaoku.com
pcaen
【实例2】高级用法,start、end、step 三个参数都可以省略:
url = 'https://www.xinbaoku.com/java/' #获取从索引5开始,直到末尾的子串 print(url[7: ]) #获取从索引-21开始,直到末尾的子串 print(url[-21: ]) #从开头截取字符串,直到索引22为止 print(url[: 22]) #每隔3个字符取出一个字符 print(url[:: 3])运行结果:
www.xinbaoku.com/java/
www.xinbaoku.com/java/
https://www.xinbaoku.com
hp/bne.ta/
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算