天天看点

python学习:split()分割字符串和join()合并字符串

1.split()方法:

可以将字符串按照指定的分隔符分成多个子串,子串会保存到列表中,作为方法的返回值反馈回来。

语法格式如下:

str.split(sep.maxsplit)      

解释:

  • str:要进行分隔的字符串
  • sep:指定的分隔符,也可以包含多种分隔符。默认为None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等
  • maxsplit:可选的参数,用于只当分割的次数,最后列表中子串的个数最多为maxsplit+1。如果不指定或者指定为-1,表示分割次数没有限制。

注意:如果不指定sep参数,需要以 str.split(maxsplit=xxx) 的格式指定 maxsplit 参数。

示例:

str = "百度官网>>>www.baidu.com"
list1 = str.split()
print(list1)    # 采用默认分隔符进行分割
list2 = str.split('>>>')
print(list2)    # 采用多个字符进行分割
list3 = str.split('.')
print(list3)    # 采用.号进行分割
list4 = str.split(' ', 4)
print(list4)    # 采用空格进行分割,并最多只能分割成4个子串
list5 = str.split('>')
print(list5)      

结果:

['百度官网>>>www.baidu.com']
['百度官网', 'www.baidu.com']
['百度官网>>>www', 'baidu', 'com']
['百度官网>>>www.baidu.com']
['百度官网', '', '', 'www.baidu.com']      

注意:未指定sep参数时,split()方法默认采用空字符进行分割,但是当字符串中有连续的空格或其他空字符时,都会备视为一个分隔符对字符串进行分割,例如:

str = "百度官网   >>>   www.baidu.com"
list6 = str.split()
print(list6)      

结果:

['百度官网', '>>>', 'www.baidu.com']      

2. join()方法:

用来将列表(或元组)中包含的多个字符串连接成一个字符串。

语法格式:

newstr = str.join(iterable)      

解释:

  • newstr:合并后生成的新字符串;
  • str:用于指定合并时的分隔符;
  • iterable:做合并操作时的源字符串数据,允许以列表、元组形式提供。

示例一:

# 将列表中的字符串合并成一个字符串。
list = ['www', 'baidu', 'com']
newstr = '.'.join(list)
print(newstr)      

结果:

www.baidu.com      
# 将元组中的字符串合并成一个字符串
dir = '', 'user', 'bin', 'uar'
print(type(dir))
newdir = '/'.join(dir)
print(newdir)      
<class 'tuple'>
/user/bin/uar