欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python中使用索引和切片的方法截取字符串详解》。本知识点主要内容有:使用索引的方法截取一个字符串和使用切片的方法截取一段字符串。
字符串也是属于序列,在Python中如果是截取一个字符串,可以使用索引的的方法,如果截取一段字符串可以使用切片的方法。
1、使用索引的方法截取一个字符串。
方法如下:
string[index]
其中。string为字符串名字,index 表示索引值。
定义一个字符串的值为“Python是当下最热门的编程语言”获取他的第2个,第8个和倒数第2个的字符串的值,代码如下:
a = 'Python是当下最热门的编程语言' # 定义一个字符串 print(a[1]) # 获取字符串的第2个的值 print(a[7]) # 获取字符串的第8个的值 print(a[-2]) # 获取字符串的倒数第2个的值
运行结果如下:
y 当 语 >>>
当索引不存在时,就会抛出IndexError异常:
a = 'Python是当下最热门的编程语言' # 定义一个字符串 print(a[25]) # 获取字符串的第25个的值
运行结果为:
Traceback (most recent call last): File "D:\Python\Python310\Doc\000.py", line 2, in <module> print(a[25]) # 获取字符串的第25个的值 IndexError: string index out of range >>>
昨天站长在线分享了《Python内置异常速查表》知道IndexError这是索引超出范围引发的错误。
要解决这个异常的问题,我们可以使用try...except语句,代码如下:
a = 'Python是当下最热门的编程语言' # 定义一个字符串 try: a1 = a[25] # 截取第25个字符 except : print('指定的索引不存在') # 输出'指定的索引不存在'
运行结果为:
指定的索引不存在 >>>
2、使用切片的方法截取一段字符串。
方法如下:
string[start:end:step]
其中,相关参数说明如下:
string:表示要截取的字符串;
start:表示要截取的第一个字符的索引(包括该字符),如果不指定,则默认为0;
end:表示要截取的最后一个字符的索引(不包括该字符),如果不指定,则默认为字符串的长度;
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。
例如,定义一个字符串,然后应用切片方法截取不同长度的字符串,并输出,代码如下:
a = 'Python是当下最热门的编程语言' # 定义一个字符串 a1 = a[0] # 截取字符串的第一个值 a2 = a[6:] # 从字符串的第7个值开始截取 a3 = a[:6] # 从字符串的左边开始截取6个字符 a4 = a[6:10] # 截取字符串的第7到第10个字符 print('原字符串:',a) # 输出原字符串 print('截取字符串的第一个值为:',a1) print('从字符串的第7个值开始截取的值为:',a2) print('从字符串的左边开始截取6个字符的值为:',a3) print('截取字符串的第7到第10个字符的值为:',a4)
运行结果为:
原字符串: Python是当下最热门的编程语言 截取字符串的第一个值为: P 从字符串的第7个值开始截取的值为: 是当下最热门的编程语言 从字符串的左边开始截取6个字符的值为: Python 截取字符串的第7到第10个字符的值为: 是当下最 >>>
经典实例,通过输入身份证号码,输出:出生日期和生日。
假设小明的身份证号码为******19901225****(隐藏重要信息),输出小明的出生日期和生日,代码如下:
sfz = '******19901225****' csrq = sfz[6:10] + '年' + sfz[10:12] + '月' + sfz[12:14] + '日' sr = sfz[10:12] + '月' + sfz[12:14] + '日' print('小明的出生日期是:',csrq) print('小明的生日是:',sr)
运行结果为:
小明的出生日期是: 1990年12月25日 小明的生日是: 12月25日 >>>
到此为止,《在Python中使用索引和切片的方法截取字符串详解》中的使用索引的方法截取一个字符串和使用切片的方法截取一段字符串。就讲解完毕了,有问题可以给我留言哦!
我们下一个Python的知识点是《在Python中分割、合并字符串详解》,欢迎你关注站长在线,让新手小白系统的零基础学习Python,感谢你对我们的关注,点赞,转发,评论哦!