前言
Python 提供了很多截取字符串的方法,被称为“切片(slicing)”。
模版如下:
string[start: end: step]
其中,
- start:起点位置,子字符串的起始索引。该索引处的字符包含在子字符串中。start 为空时则默认为 0。
- end:终点位置,子字符串的终止索引。该索引处的字符不包括在子字符串中。end 为空时,或者指定的值超过字符串的长度,则默认它等于字符串的长度。
- step:步长,当前字符之后和目标字符之间的距离。step 为空时,则默认值为 1。
模版
- string[start:end]:获取从 起点位置 到 终点位置 - 1 的所有字符
- string[:end]:获取从 字符串开头 到 终点位置 - 1 的所有字符
- string[start:]:获取从 起点位置 到字符串结尾的所有字符
- string[start:end:step]:获取从 起点位置 到 终点位置 - 1 的,每个之间距离 步长 的所有字符
示例
获取字符串的前 5 个字符
1
2
|
string = "freeCodeCamp" print (string[ 0 : 5 ]) |
输出:
> freeC
注意:print(string[:5]) 和 print(string[0:5]) 返回的结果一样
获取从第 3 个字符开始,长度为 4 的截取字符串
1
2
|
string = "freeCodeCamp" print (string[ 2 : 6 ]) |
输出:
> eeCo
请注意,起点或终点位置索引可能为负数。负索引的意思是从字符串的末尾开始而不是从开头开始(即从右到左)开始计数。索引-1 代表字符串的最后一个字符,-2 代表倒数第二个字符,依此类推……
获取字符串的最后一个字符
1
2
|
string = "freeCodeCamp" print (string[ - 1 ]) |
输出:
> p
获取字符串的末尾 5 个字符
1
2
|
string = "freeCodeCamp" print (string[ - 5 :]) |
输出:
> eCamp
获取一个截取字符串,包括除了末尾 4 个和开头第一个字符的所有字符
1
2
|
string = "freeCodeCamp" print (string[ 1 : - 4 ]) |
结果:
> reeCode
更多示例
1
2
3
4
|
str = “freeCodeCamp” print str [ - 5 : - 2 ] # prints ‘eCa' print str [ - 1 : - 2 ] # prints ‘' (empty string) |
每个字符之间间隔一个索引
1
2
|
string = "freeCodeCamp" print (string[:: 2 ]) |
结果:
> feCdCm
补充:根据指定字符截取字符串
先获取字符的下标位置;
再通过以上的方法截取;
Python提供index 函数,检测字符串中是否包含子字符串,通常表现为 某些特定字符,特定单词;a.index(b, begin, end),a为需要校验字符串,b为字符串,begin 为开始截取的字符的下标(默认为0),end结束字符下标(默认为字符长度)
示例:
1
2
3
4
5
|
str1 = "Hello.python" ; str2 = "." ; print str1.index(str2); #结果5 print str1.index(str2, 2 ); #结果5 print str1.index(str2, 10 ); #结果报错,没找到子字符串 |
综合以上所述,按照字符截图示例
1
2
3
4
5
|
str1 = "Hello.python" ; str2 = "." ; print str1.index(str2); #结果5 print str1[:str1.index(str2)] #获取 "."之前的字符(不包含点) 结果 Hello print str1[str1.index(str2):] ; #获取 "."之前的字符(包含点) 结果.python |
总结
到此这篇关于Python截取字符串的简单方法的文章就介绍到这了,更多相关Python截取字符串内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/pydby01/article/details/121961882