split(分隔符,分割几次)从左向右寻找,分割元素并放入列表中,该分隔符丢弃;
rsplit(分隔符,分割几次)从右向左寻找,分割元素并放入列表中,该分隔符丢弃;
splitlines() 按照行(‘\r’, ‘\r\n’, \n’)分隔,并将元素放入列表中,该分隔符丢弃;
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()
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()
['', '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()
['/home/data/2', 'text.txt']
/home/data/2
text.txt
描述
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()
['hello', 'world', 'dlrb']
hello
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]