python中的split()、rsplit()、splitlines()用法比较

  • 1 split() 从左向右切割
  • 2 rsplit() 从右向左分割
  • 3 splitlines() 根据换行符切割
  • 4 rsplit()妙用

split(分隔符,分割几次)从左向右寻找,分割元素并放入列表中,该分隔符丢弃;

rsplit(分隔符,分割几次)从右向左寻找,分割元素并放入列表中,该分隔符丢弃;

splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,并将元素放入列表中,该分隔符丢弃;

1 split() 从左向右切割

split()表示通过指定分隔符对字符串进行切片,元素放入列表中,该分隔符丢弃;

从左向右寻找切割,切片类表从左到右下标从0开始;

split(分隔符,分割几次)

split() 方法语法:

str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。
def demo():
    str = "a,b,c,d,e,f,g"
    str = str.split(",") #通过指定分隔符对字符串进行切片,保存在列表里
    print(str) 
    print(str[0]) 
 
demo()

输出

['a', 'b', 'c', 'd', 'e', 'f', 'g']
a

split(分隔符,分割几次)

def demo():
    str = "a,b,c,d,e,f,g"
    str = str.split(",",1) #只分割一次
    print(str) 
 
demo()

分割结果

['a', 'b,c,d,e,f,g']

详细分析

def demo():
    str = "a,b,c,d,e,f,g" 
    print(type(str)) #字符串类型
    print(str)
    str = str.split(",") #通过指定分隔符对字符串进行切片,保存在列表里
    print(type(str)) #切片后列表类型
    print(str)
    print(str[0]) 

    demo()

python中的split()、rsplit()、splitlines()用法比较_第1张图片

2 rsplit() 从右向左分割

rsplit()表示从右侧开始将字符串拆分为列表,切片类表从左到右下标从0开始;

rsplit(分隔符,分割几次);

def demo():
    str = "/home/data/2/text.txt"
    str = str.rsplit("/")  #从右向左寻找分隔符,分割后的列表下标依然是从左向左从0开始
    print(str)

    print(str[0]) # 第0号元素是最左侧分割线,左边的元素,这个为空,
    print(str[1])
 
demo()

python中的split()、rsplit()、splitlines()用法比较_第2张图片
输出结果

['', 'home', 'data', '2', 'text.txt']

home

rsplit(分隔符,分割几次);
只分割一次;

def demo():
    str = "/home/data/2/text.txt"
    str = str.rsplit("/",1)  #从右向左寻找分隔符,分割后的列表下标依然是从左向左从0开始
    print(str)

    print(str[0])
    print(str[1])
 
demo()

python中的split()、rsplit()、splitlines()用法比较_第3张图片
输出结果

['/home/data/2', 'text.txt']
/home/data/2
text.txt

3 splitlines() 根据换行符切割

描述
splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法

str.splitlines([keepends])
参数
keepends -- 在输出结果里是否保留换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。

返回值
返回一个包含各行作为元素的列表。

def demo():
    str = "hello\nworld\ndlrb"
    str = str.splitlines() #根据换行符切割,,,注意换行符是这样'\n'

    print(str)
    print(str[0])
 
demo()

python中的split()、rsplit()、splitlines()用法比较_第4张图片
输出结果

['hello', 'world', 'dlrb']
hello

4 rsplit()妙用

Python 字符分割时,只分割最后一个(rsplit的使用)

在python分割时,有时候不是把整个字符分割,而是只分割部分,例如:我要分割文件路径,只想把最后的文件名去除,保留文件夹的路径。

例如:/home/username/data/text.txt 我想要得到/home/username/data/。如果用split则会把整个分割成一个list,但是可以使用rsplit。

path = "/home/username/data/text.txt "
#使用split -->["home","username","data","text.txt "] 
path.split("/") 

# 而使用rsplit -->["/home/username/data","text.txt "]
path.rsplit("/",1)[0] 

你可能感兴趣的:(Python,python,numpy,开发语言)