PYTHON按照指定字符或者长度 截取字符串
1.截取指定位置字符串
Python字符串可以理解为一个数组,获取某一部分的可以使用 str[beginIndex:endPosition],其中str为需要截取的字符串,beginIndex为需要截取的第一个字符的下标,endPosition为截取字符最后一个的位置,注意是下标和位置(下面示例),下标+1=位置;beginIndex,endPosition都可以不写,不写的情况默认第一个或者最后一个;
正常示例:
a = "Hello" print "a[1:4] 输出结果:" , a[ 1 : 4 ] #结果 ell print "a[:4] 输出结果:" , a[: 4 ] #结果 Hell print "a[1:] 输出结果:" , a[ 1 :] #结果 ello |
当然beginIndex,endPosition也可以为负数,表示截取方向从右到左,如
1
2
3
|
a = "Hello" <br><br> print a[: - 1 ] #截取从第一个字符开始到倒数第1个字符(不含最后一个) 结果Hell print a[ - 3 : - 1 ] #截取倒数第三位字符与 倒数第一位之间的字符(注意不包含最后一个字符)结果ll print a[ - 3 :] #截取倒数第三位到结尾 结果llo |
2.根据指定字符截取字符串
- 先获取字符的下标位置;
- 再通过以上的方法截取;
Python提供index 函数,检测字符串中是否包含子字符串,通常表现为 某些特定字符,特定单词;a.index(b, begin, end),a为需要校验字符串,b为字符串,begin 为开始截取的字符的下标(默认为0),end结束字符下标(默认为字符长度)
示例:
1
2
3
4
5
6
|
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
6
|
str1 = "Hello.python" ; str2 = "." ; print str1.index(str2); #结果5 print str1[:str1.index(str2)] #获取 "."之前的字符(不包含点) 结果 Hello print str1[str1.index(str2):] ; #获取 "."之前的字符(包含点) 结果.python |