python按照指定字符或者长度 截取字符串

时间:2024-10-08 22:34:56

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也可以为负数,表示截取方向从右到左,如


a = "Hello"

print a[:-1] #截取从第一个字符开始到倒数第1个字符(不含最后一个) 结果Hell
print a[-3:-1] #截取倒数第三位字符与 倒数第一位之间的字符(注意不包含最后一个字符)结果ll
print a[-3:] #截取倒数第三位到结尾 结果llo

2.根据指定字符截取字符串

  1.   先获取字符的下标位置;
  2.   再通过以上的方法截取;

  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