Python中的join和split

来源:互联网 发布:软件发短信 编辑:程序博客网 时间:2024/05/21 17:41

时间:2014.06.11

地点:基地

------------------------------------------------------------------------

一、问题

  多次看到python中的join了,看着不爽了,今天研究个明白,顺便也将split也关注了下。也包括os.path.join和os.path.split

------------------------------------------------------------------------

二、详解

  split和join二者都是用于对字符串进行处理的函数,split用于拆分字符串,join用于连接字符串。

2.1 str.join(sep) 

以str作为分割符,将序列sep(序列中的元素都是字符串)中的所有元素合并成一个新的字符串。比如:

sep=['yun','meng','ze']  

#现在我们希望得到yun-meng-ze这样一个将sep中各字符串元素用短线进行连接的字符串,可以这样:

'-'.join(sep)
再来看个os.path.join(path1(,path2(,...)))
path.join('C:\\','Python','python.exe')  #即这里的join会自动在个元算间添加  \\   ,使之构成一个文件路径

输出是:

'C:\\Python\\python.exe'

将多个路径进行组合后返回,且在第一个完整绝对路径之前的的参数将会被忽略,比如:

path.join('Hello Python','C:\\','Python','python.exe')
其输出是:

'C:\\Python\\python.exe'

2.2 string.split(str=' ',num=string.count(str)): 

  以str为分隔符,将string切分,若果num指定,则仅将string分隔成num个部分,否则将根据第一个参数在字符串中的个数进行划分,余下部分字符串不再参与划分。
调用方法
s.split([sep,(,maxsplit)])  #返回一组使用分隔符sep分隔字符串形成的列表,若指定最大分割数,则在最大分割时结束,若分隔符未指定,默认为按空格分割,例:

s1='a b c'print s1.split()print s1.split(' ')s2='hello wordl'print s2.split('o')print s2.split('o',1)
  需要注意的是,当我们指定分割符时一定不能为空,否则报错,倒是该分隔符可以不一定要出现在字符串中,不在即不分割,另外分隔符将不会再出现在分割后的子字符串中。
另外,我们还有os.path.split()
  它把给定的路径字符串按照路径和文件名,比如d:\\python\\python.exe。分割后结果为: ['d:\\puthon','python.exe']
from os import pathprint path.split('C:\\Python\\Python.exe')print path.split('C:\\Python\\')


0 0
原创粉丝点击