当前位置: 首页 > news >正文

Python中的split()函数的使用方法 详解

转载自: http://www.jb51.net/article/63592.htm
 
这篇文章主要介绍了举例详解Python中的split()函数的使用方法,split()函数的使用是Python学习当中的基础知识,通常用于将字符串切片并转换为列表,需要的朋友可以参考下
 

函数:split()

Python中有split()和os.path.split()两个函数,具体作用如下:
split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
os.path.split():按照路径将文件名和路径分割开

一、函数说明
1、split()函数
语法:str.split(str="",num=string.count(str))[n]

参数说明:
str:   表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:   表示选取第n个分片

注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略

2、os.path.split()函数
语法:os.path.split('PATH')

参数说明:

  1. PATH指一个文件的全路径作为参数:
  2. 如果给出的是一个目录和文件名,则输出路径和文件名
  3. 如果给出的是一个目录名,则输出路径和为空文件名


二、实例
1、常用实例

>>> u = "www.doiido.com.cn"
  
#使用默认分隔符
>>> print u.split()
['www.doiido.com.cn']
  
#以"."为分隔符
>>> print u.split('.')
['www', 'doiido', 'com', 'cn']
  
#分割0次
>>> print u.split('.',0)
['www.doiido.com.cn']
  
#分割一次
>>> print u.split('.',1)
['www', 'doiido.com.cn']
  
#分割两次
>>> print u.split('.',2)
['www', 'doiido', 'com.cn']
  
#分割两次,并取序列为1的项
>>> print u.split('.',2)[1]
doiido
  
#分割最多次(实际与不加num参数相同)
>>> print u.split('.',-1)
['www', 'doiido', 'com', 'cn']
  
#分割两次,并把分割后的三个部分保存到三个文件
>>> u1,u2,u3 = u.split('.',2)
>>> print u1
www
>>> print u2
doiido
>>> print u3
com.cn

2、去掉换行符
 

>>> c = '''say
hello
baby'''
  
>>> print c
say
hello
baby
  
>>> print c.split('\n')
['say', 'hello', 'baby']

  

3、分离文件名和路径
 

>>> import os
>>> print os.path.split('/dodo/soft/python/')
('/dodo/soft/python', '')
>>> print os.path.split('/dodo/soft/python')
('/dodo/soft', 'python')

 

4、一个超级好的例子
 

>>> str="hello boy<[www.doiido.com]>byebye"
  
>>> print str.split("[")[1].split("]")[0]
www.doiido.com
  
>>> print str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']

  

 

相关文章:

  • Percona TokuDB
  • IOS 打包所遇到的问题以及解决方案
  • APP测试总结2
  • iOS视频压缩存储至本地并上传至服务器-b
  • js实现水平伸缩菜单
  • knockout中computed和pureComputed的区别
  • java Nio零散知识点整理
  • Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式
  • 直播相关知识收集
  • 每日一题_Python.利用yield生成器实现协程下的tps透明传输CS测试
  • Tomcat 容器 POI 生成 Excel 文件 可能会使用到 temp 临时文件夹
  • Windows10 查看 自己笔记本的电池状况
  • 二维码生成工厂
  • 解决Idea创建maven-archetype-webapp项目无java目录的问题
  • 项目笔记之订单号生成规则以及方法,第一篇!
  • 「译」Node.js Streams 基础
  • Angular2开发踩坑系列-生产环境编译
  • CentOS7简单部署NFS
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Intervention/image 图片处理扩展包的安装和使用
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • java正则表式的使用
  • Making An Indicator With Pure CSS
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Vim Clutch | 面向脚踏板编程……
  • 分布式事物理论与实践
  • 推荐一个React的管理后台框架
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 学习ES6 变量的解构赋值
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 中文输入法与React文本输入框的问题与解决方案
  • gunicorn工作原理
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十六)Flask之蓝图
  • .Net IOC框架入门之一 Unity
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET4.0并行计算技术基础(1)
  • .NetCore项目nginx发布
  • .net反混淆脱壳工具de4dot的使用
  • .net下的富文本编辑器FCKeditor的配置方法
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @vue/cli 3.x+引入jQuery
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [20180224]expdp query 写法问题.txt
  • [20181219]script使用小技巧.txt
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [Android View] 可绘制形状 (Shape Xml)
  • [C++打怪升级]--学习总目录
  • [CERC2017]Cumulative Code
  • [HackMyVM]靶场 Quick3