python之字符串的分割与连接

1.分割字符串:

1.1不带参数时以空格进行分割:str.split()

>>> st='I love you'
>>> print(st.split())
['I', 'love', 'you']

1.2带参数分割(注意观察st1,st2,st3的区别):str.split('分隔符')

>>> st1='aib'
>>> st2='aiib'
>>> st3='iaiib'
>>> st4='iiaiiibii'
>>> st1.split('i')
['a', 'b']
>>> st2.split('i')
['a', '', 'b']
>>> st3.split('i')
['', 'a', '', 'b']
>>> st4.split('i')
['', '', 'a', '', '', 'b', '', '']

#以换行符分割字符串
>>> str='''I
Love
You'''
>>> str.split('\n')
['I', 'Love', 'You']

通过上面的例子可以观察到当字符串的两端带有几个i,结果就会有几个空串,而字符串中间有几个相邻的i分割完成后的空串个数总会比i的个数少1个。对此我是这样理解的:字符串的分割从左到右进行,并以分割符号进行切割。以st3='iaiib'为例从左到右切割,以i为分界线,第一个i的左边是空串,第一次且完之后把st3分为两部分:st3_1='',st3_2='aiib';第二次再对第一次分割后的字串进行再次切割,st3_1中没有i不用切割,对st3_2进行从左至右切割:st3_2_1=’a‘,st3_2_2=’ib‘;第三次对st3_2_2进行从左至右切割:st3_2_2_1='',st3_2_2_2='b'。

1.3带参数分割,并指定分割次数:str.split('.',n):分割n次;str.split('.',-1)相当于str.split('.')

>>> str='I.love.you.www.abc'
>>> str.split('.',1)
['I', 'love.you.www.abc']
>>> str.split('.',2)
['I', 'love', 'you.www.abc']
>>> str.split('.',-1)
['I', 'love', 'you', 'www', 'abc']

1.4分割后取下标为index的项:str.split()[index],下标从0开始

>>> str="hello world [https://mp.csdn.net/] I love you"
>>> str.split()[1]
'world'

1.5多次分割字符串

>>> str="hello world [https://mp.csdn.net/] I love you"
>>> str.split('[')[1].split(']')[0].split('.')
['https://mp', 'csdn', 'net/']

1.6统计字符串中的单词个数:len(str.split())

>>> str="I love you so much"
>>> len(str.split())
5

2.连接字符串

2.1普通字符串的连接:'连接符'.join(要连接的序列)

>>> '-'.join("asd")
'a-s-d'
>>> list=['a','b','c']
>>> ''.join(list)
'abc'
>>> list=['amm','bmm','cmm']
>>> '-'.join(list)
'amm-bmm-cmm'

2.2字符串的分割和连接的组合应用

>>> st='<a href="www.test.com">test</a>'
>>> print(st.split('"')[1])
www.test.com
>>> print (st.split('"')[1].split('.'))
['www', 'test', 'com']
>>> print('-'.join(st.split('"')[1].split('.')))
www-test-com

猜你喜欢

转载自blog.csdn.net/beautiful77moon/article/details/86484008
今日推荐