Python截取字符串(字符串切片)方法详解

本文详细介绍了Python中如何通过索引操作字符串,包括获取单个字符和多个字符(字符串切片)。字符串的索引从0开始,也可以从-1开始反向计数。此外,还展示了如何通过start、end和step参数进行字符串截取,并提供了实例演示。

从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。[Python] 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。

获取单个字符

知道字符串名字以后,在方括号[ ]中使用索引即可访问对应的字符,具体的语法格式为:

strname[index]

strname 表示字符串名字,index 表示索引值。

Python 允许从字符串的两端使用索引:

  • 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
  • 当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3 ……

请看下面的实例演示:


1.  url = 'https://jq.qq.com/?_wv=1027&k=sqgP9S9Y'
2.  #获取索引为10的字符
3.  print(url[10])
4.  #获取索引为 6 的字符
5.  print(url[-6])

运行结果:

i
y

获取多个字符(字符串截去/字符串切片)

使用[ ]除了可以获取单个字符外,还可以指定一个范围来获取多个字符,也就是一个子串或者片段,具体格式为:

strname[start : end : step]

对各个部分的说明:

  • strname:要截取的字符串;
  • start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
  • end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
  • step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

【实例1】基本用法:


1.  url = 'https://jq.qq.com/?_wv=1027&k=sqgP9S9Y/'
2.  #获取索引从3处22(不包含22)的子串
3.  print(url[7: 22]) # 输出 zy
4.  #获取索引从7处到-6的子串
5.  print(url[7: -6]) # 输出 zyit.org is very
6.  #获取索引从-7到6的子串
7.  print(url[-21: -6])
8.  #从索引3开始,每隔4个字符取出一个字符,直到索引22为止
9.  print(url[3: 22: 4])

运行结果:

https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
pcaen

【实例2】高级用法,start、end、step 三个参数都可以省略:


1.  url = 'https://jq.qq.com/?_wv=1027&k=sqgP9S9Y'
2.  #获取从索引5开始,直到末尾的子串
3.  print(url[7: ])
4.  #获取从索引-21开始,直到末尾的子串
5.  print(url[-21: ])
6.  #从开头截取字符串,直到索引22为止
7.  print(url[: 22])
8.  #每隔3个字符取出一个字符
9.  print(url[:: 3])

运行结果:

https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
https://jq.qq.com/?_wv=1027&k=sqgP9S9Y
hp/bne.ta/
python福利教程领取方式:
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【19】
(一定要私信哦~点击我的头像就能看到私信按钮了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值