在工作中,经常遇到字符串切分,尤其是操作linux命令,返回一段文本,如下面这种格式
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 3.1G 35G 9% /
tmpfs 939M 0 939M 0% /dev/shm
在整理数据时,以前我都是直接split(' '), 结果当然是很不理想啊,今天get到了一个新技术----直接split()
下面看示例:
if __name__ == '__main__':
line = '/dev/vda1 40G 3.1G 35G 9% /'
arr = line.split()
print(arr) # ['/dev/vda1', '40G', '3.1G', '35G', '9%', '/']
结果很理想,管你几个空格,我全给你干掉,然后搞成一个顺眼数组,完美!!
此别,python还有个filter函数,使用起来也是牛一逼,且看如下示例
if __name__ == '__main__':
line = '/dev/vda1 40G 3.1G 35G 9% /'
# arr = line.split()
# print(arr)
ret = list(filter(None, line.split(' ')))
print(ret) #['/dev/vda1', '40G', '3.1G', '35G', '9%', '/']
同样完成了上面的切分功能,但使用起来略显复杂。不过,filter这个函数还是很有用的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。