python中split,rsplit与splitlines作用
split,rsplit与splitlines作用
- 0 前言
- 1 split
- 2 rsplit
- 3 splitlines
0 前言
在编程的过程中,字符串是我们最常打交道的数据类型,对字符串进行切分也是我们经常进行的操作。python提供了很多处理字符串的函数,处理起来非常方便。这里介绍python中与字符串切分相关的三个函数,分别是split,rsplit与splitlines。
首先需要明确的一点是三个函数的作用都是进行字符串切分。其中split函数是最基本的切分函数,rsplit与splitlines函数的功能,都能使用split函数实现,额外提供这两个函数,仅仅是为了操作方便而已。
1 split
语法:
str.split(separator,num)
其中str表示要切分的字符串,separator表示分隔符,num表示切分的次数,默认是-1。表示分割所有。
示例:
>>> str = 'C/C++/Python/Java'
>>> str_split = str.split('/')
>>> print(str_split)
['C', 'C++', 'Python', 'Java']
>>> str_split = str.split('/',1)>>> print(str_split)
['C', 'C++/Python/Java']
另外需要说明的是,如果不指定分隔符,split将以空白符作为分割符。
关于python的split函数还有一个小小的坑。关于这个坑的详细内容请查看博客python字符串split的一个小坑。
2 rsplit
split函数默认是从左向右进行切割的,如果使用num参数指定只切割一次的话,那么就会从字符串传的左侧找到第一个匹配的分隔符进行切分,剩下的部分不再进行切分。
rsplit的意思是right split,就是从右侧进行切分。如果使用num参数指定只切割一次的话,那么就会从字符串传的右侧找到第一个匹配的分隔符进行切分,剩下的部分不再进行切分。
>>> str = 'C/C++/Python/Java'
>>> str_split = str.rsplit('/',1)
>>> print(str_split)
['C/C++/Python', 'Java']
同样,如果不指定分隔符,rsplit将以空白符作为分割符。
3 splitlines
splitlines的功能其实就是根据换行符进行split,其实就是根据\r, \r\n, \n进行分割。这三个都表示换行符,之所以状况,是由不同平台对换行符的定义不同产生的。
下面对不同平台对换行符的定义进行介绍。
我们使用notepad++打开,windows下编辑的文本文档,选择显示所有字符,每行的末尾都会显示- CR LF,而在linux平台下编辑的文本文档,每行的末尾显示为LF。这里的CR和LF是什么意思呢?
- CR:Carriage Return,对应ASCII中转义字符\r,表示回车
- LF:Linefeed,对应ASCII中转义字符\n,表示换行
- CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行
所以: - Windows操作系统采用两个字符来进行换行,即CRLF;
- Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;
- MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。
据说之所以产生现在的局面是由历史原因的。
据野史记载,在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。
当CR和LF组合使用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也就是我们今天所理解的换行操作。
随着时间的推移,机械打字机渐渐地退出了历史舞台,当初的纸张变成了今天的显示器,打字机的按键也演变为了如今的键盘。在操作系统出现的年代,受限于内存和软盘空间的不足,一些操作系统的设计者决定采用单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他原因,鬼知道),所以才有这样字符上的不同。
>>> str = 'C\rC++\nPython\r\nJava'
>>> str_split = str.splitlines()
>>> print(str_split)
['C', 'C++', 'Python', 'Java']
参考文章:
- CRLF、CR、LF详解
python中split,rsplit与splitlines作用相关推荐
- 技术图文:举例详解Python中 split() 函数的使用方法
背景 这篇文章主要介绍Python中的split()函数的使用方法,split()函数通常用于将字符串切片并转换为列表,需要的朋友可以参考一下. 技术分析 Python中有split()和os.pat ...
- python中split的用法取第二个分片_python中split()函数的用法
函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- python的用途实例-python中pass语句意义与作用(实例分析)
想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...
- python中split啥意思_python中split的用法详解_后端开发
如何用python正则表达式匹配字符串?_后端开发 用python正则表达式匹配字符串的方法:1.当匹配单个位置的字符串时,可以使用[(.+?)]正则表达式来提取:2.当连续多个位置的字符串匹配时,可 ...
- python if else语句例子,python 中if else 语句的作用及示例代码
引入:if-else的作用,满足一个条件做什么,否则做什么. if-else语句语法结构 if 判断条件: 要执行的代码 else: 要执行的代码 判断条件:一般为关系表达式或bool类型的值 执行过 ...
- python中split()函数讲解
python中split()函数讲解 本文讲述的是string.split(s[, sep[, maxsplit]]),针对string类型的split()函数.它主要是切割字符串,结果返回由字符串元 ...
- Python中__init__方法有什么作用
Python中__init__方法有什么作用 当使用类名()的方法去创建对象的时候 python解释器会自动调用__init__方法 因此可以在__init__方法中做一些初始化的设定 在每次创建新对 ...
- python中split的用法取第二个分片_python中的split()函数的用法
函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...
最新文章
- Linux 使用者身份與群組記錄的檔案
- nginx rewrite重写与防盗链配置
- jdk1.8api中文版下载(帮助文档)
- centos7下tomcat7 或tomcat8启动超慢原因
- PKCS#11 in OP-TEE
- USB查看器 USB Device Tree Viewer(UsbTreeView.exe)的使用(重启Intel Realsense摄像头)
- 网络编程 数据的封装与解封装过程
- MyBatis 源码解读-typeHandlerElement()
- 七种常用特征工程技术
- 闲谈:我为什么热爱开源
- Fragment销毁时replace和add两个方法的区别
- Python ASCII码
- pcap文件linux怎么打开,pcap文件格式 - 方恨少 - 博客园
- 火狐浏览器打印网页不全_打印网页显示不全,求助
- Raid磁盘阵列并管理
- 人工智能 感情 自我意识
- oracle 级联外键,Oracle 级联删除外键
- 对账 概念 - 账证核对,账账核对,账实核对,账表核对
- druid数据源下 sqlserver 出现 对象名 'xxx' 无效
- KubeSphere又开始对接公有云了,这一次是阿里云 SLB