Python截取字符串
IT娜娜 人气:0前言
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 个字符
string = "freeCodeCamp" print(string[0:5])
输出:
> freeC
注意:print(string[:5]) 和 print(string[0:5]) 返回的结果一样
获取从第 3 个字符开始,长度为 4 的截取字符串
string = "freeCodeCamp" print(string[2:6])
输出:
> eeCo
请注意,起点或终点位置索引可能为负数。负索引的意思是从字符串的末尾开始而不是从开头开始(即从右到左)开始计数。索引-1 代表字符串的最后一个字符,-2 代表倒数第二个字符,依此类推……
获取字符串的最后一个字符
string = "freeCodeCamp" print(string[-1])
输出:
> p
获取字符串的末尾 5 个字符
string = "freeCodeCamp" print(string[-5:])
输出:
> eCamp
获取一个截取字符串,包括除了末尾 4 个和开头第一个字符的所有字符
string = "freeCodeCamp" print(string[1:-4])
结果:
> reeCode
更多示例
str = “freeCodeCamp” print str[-5:-2] # prints ‘eCa' print str[-1:-2] # prints ‘' (empty string)
每个字符之间间隔一个索引
string = "freeCodeCamp" print(string[::2])
结果:
> feCdCm
补充:根据指定字符截取字符串
先获取字符的下标位置;
再通过以上的方法截取;
Python提供index 函数,检测字符串中是否包含子字符串,通常表现为 某些特定字符,特定单词;a.index(b, begin, end),a为需要校验字符串,b为字符串,begin 为开始截取的字符的下标(默认为0),end结束字符下标(默认为字符长度)
示例:
str1 = "Hello.python"; str2 = "."; print str1.index(str2);#结果5 print str1.index(str2, 2);#结果5 print str1.index(str2, 10);#结果报错,没找到子字符串
综合以上所述,按照字符截图示例
str1 = "Hello.python"; str2 = "."; print str1.index(str2);#结果5 print str1[:str1.index(str2)] #获取 "."之前的字符(不包含点) 结果 Hello print str1[str1.index(str2):] ; #获取 "."之前的字符(包含点) 结果.python
总结
加载全部内容