0%

Python字符串切割

我们在写代码的过程中经常需要将字符串进行拆分,以便于获取我们需要的数据,
在Python中我们可以用官方自带的split()模块来实现字符串分割操作;

参数:

  • str 分隔符,默认为所有的空字符,包括空格,换行(\n)、制表符(\t)等。

  • num 分割次数,默认为 -1, 即全部分割。

关于str和num参数

不指定num,默认全部分割

str = 'www.github.com'
print(str.split('.')) #用.分割

输出结果
['www', 'github', 'com']

制定num=1, 分割1次;

str = 'www.github.com'
print(str.split('.',1)) #用.分割

输出结果
['www', 'github.com']

用‘/’来分割

str = 'www.github.com/huaisha1224/jd-assistant'
print(str.split('/')) #用/分割

输出结果
['www.github.com', 'huaisha1224', 'jd-assistant']

通过切片取出指定字符串

如果我们想提取URL连接中的huaisha1224

str = 'www.github.com/huaisha1224/jd-assistant'
print(str.split('/')[1]) #提取第2个位置的内容

输出结果
huaisha1224

全部分割取出最后一个字符串

str = 'www.github.com/huaisha1224/jd-assistant'
print(str.split('/')[-1]) #提取倒数第一个位置的内容

输出结果
jd-assistant

如果你有更复杂的字符串拆分需求

比如需要用多个界定符分割字符串,可以用re.split()来操作

import re
str = 'asdf fjdk; afed, fjek,asdf, foo'
re.split(r'[;,\s]\s*', str)

输出结果
['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']