python split()截取一部分的字符串及按照指定字符或者长度 截取字符串

str = 'https://www.baidu.com/pdf/abcdefg.pdf'

# 输出字符串,>>>https://www.baidu.com/pdf/abcdefg.pdf
print(str)


# 做为一个整体截取,>>>['https://www.baidu.com/pdf/abcdefg.pdf']
print(str.split())


# 把字符串分割,>>>['https:', '', 'www.baidu.com', 'pdf', 'abcdefg.pdf']
print(str.split('/'))


# 输出第一段字符串,>>>https:
print(str.split('/')[0])


# 输出最后一段字符串,>>>abcdefg.pdf
print(str.split('/')[-1])


# 把最后一段字符串再次分割,>>>['abcdefg', 'pdf']
print(str.split('/')[-1].split('.'))

# 输出>>>abcdef.pdf
print(str.split('/')[-1].split('.')[0])


# 输出>>>abcdef.pdf
print(str.split('/')[-1])

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

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"<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结束字符下标(默认为字符长度)

示例:

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
    原文作者:jaray
    原文地址: https://blog.csdn.net/jaray/article/details/108887695
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞