-
三个函数的原型
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的使用场景是按空格进行分隔,所有的空格都适用,并且它还可以控制分隔后的字符串要不要保留空格.
网友评论