python字符串截取总结


前言

字符串是python中常见的类型,也是其他语言中常见的类型,我们经常不经意间就会与字符串打交道,每次难免有些遗忘,特次用一篇博客做一次彻底总结归纳


字符串切片

str = "0123456789abcdef"

  1. str[0:5]
>>> str[0:5]
'01234'
>>> str[0:len(str)]
'0123456789abcdef'
  1. str[:]
>>>str[:]
'0123456789abcdef'
>>> str[::]
'0123456789abcdef'

>>> str[:::]
  File "<stdin>", line 1
    str[:::]
          ^
SyntaxError: invalid syntax
  1. str[6:]
>>> str[6:] #下标为6  下标从0开始
'6789abcdef'
  1. str[:-3]
# 正序:从开始到指定位置
>>> str[:-3] # 不包括倒数第三个
'0123456789abc'
>>> str[:-1] # 不包括倒数第一个
'0123456789abcde'
  1. str[2]
>>> str[2] # 输出第三个字符,下标从0开始
'2'

>>> str[len(str)] # 可接受范围:0 -len(str)-1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

>>> str[-1]
'f'
  1. str[-3:-1]
str = '0123456789abcdef'
>>> str[-3:-1] # 不包括-1位置字符
'de'
>>> str[:-1] # # 不包括-1位置字符
'0123456789abcde'

>>> str[-1:-3]''
  1. str[-3:]
>>> str[-3:] # 逆序输出 从倒数第3到最后
'def'
  1. str[::-1]
str = '0123456789abcdef'
>>> str[::-1] # 逆序输出字符串
'fedcba9876543210'
>>> str[::-2] # 逆序输出 每隔两个输出
'fdb97531'

>>> str[::]
'0123456789abcdef'
  1. str[::1]
str = '0123456789abcdef'
>>> str[::1] # 正序输出
'0123456789abcdef'
>>> str[::2] # 正序输出 每隔连个字符输出
'02468ace'

>>> str[::] # 输出所有
'0123456789abcdef'

. str[:-2:4]

str = '0123456789abcdef'
str[开始:结束:间隔] # 不包括结束位置字符

>>> str[:-1:1] # # 不包括str[-1] = f
'0123456789abcde'
>>> str[:-1:2]
'02468ace'

>>> str[:-2:2] # str[-2]=e
'02468ac'
>>> str[:-2:4]
'048c'

>>> str[1:-1:1] # 包括开始 不包括结束 间隔1
'123456789abcde'
>>> str[1:-2:2]
'13579bd'
>>> str[1:-2:4]
'159d'

总结

str = '0123456789abcdef'
字符串截取一般有两种形式:

  1. [开始:结束] 根据下标位置截取,不包括结束位置字符
  • 正数:正向截取:从前往后 确定位置
    str[3:8] :‘34567’ str[8]=‘8’
    str[:] :‘0123456789abcdef’
  • 负数:正向截取:从后往前确定位置
    str[-4:-1]:‘cde’ str[-1]=‘f’
    str[3:-1]:‘3456789abcde’ str[-1]=‘f’
    str[-1:-3]:’’ str[-3]=‘d’
    只能按照正向顺序写入相应位置

在这里插入图片描述

  1. [开始:结束:间隔] 间隔一定是正数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值