美文网首页
python中的split,rsplit,splitlines

python中的split,rsplit,splitlines

作者: 莫辜负自己的一世韶光 | 来源:发表于2018-09-28 15:02 被阅读0次
  • 三个函数的原型
s1 = "1,2,3,g,y,m"


# 将s1按照逗号,分隔放到列表中
def f1():
    lst = list(s1.split(","))
    print(lst)  # ['1', '2', '3', '4', '5', '6']


# 如果是想得到['1','2','3','gym']
def f2():
    # 首先是将字符串分隔三次,取最后一个元素再按逗号分隔,然后用空串拼接
    s = "".join(s1.split(",", 3)[-1].split(","))
    # 先得到返回之后的列表,改变最后一项的值就可
    lst = s1.split(",", 3)
    lst[3] = s
    print(lst)  # ['1', '2', '3', 'gym']


# 应用场景,分隔路径和文件名
s2 = "/a/b/c/a.txt"


def f3():
    # 如果要获取a.txt的文件夹路径,可以利用rsplit进行分隔,倒序分隔,只分隔一次
    # 可以使用序列赋值,右边是一个列表,只有两项
    path, file = s2.rsplit("/", 1)
    print(path, file)  # /a/b/c a.txt


# 按照空格分隔,并且保留空格
s3 = 'ab c\n\nde fg\rkl\r\n'


def f4():
    # 按照空格分隔字符串,并且可以保留空格.如果有多个连续的空格,则以最后一个空格为基准
    s = s3.splitlines(keepends=True)
    print(s) # ['ab c\n', '\n', 'de fg\r', 'kl\r\n']


if __name__ == '__main__':
    f1()
    f2()
    f3()
    f4()

  • 总结

一般情况下split就可以满足所有的需求了,rsplit的使用场景是,从后向前分隔,而splitlines的使用场景是按空格进行分隔,所有的空格都适用,并且它还可以控制分隔后的字符串要不要保留空格.

相关文章

网友评论

      本文标题:python中的split,rsplit,splitlines

      本文链接:https://www.haomeiwen.com/subject/xeouoftx.html