为什么 python 不删除非中断空格,.strip(' ')
而是.split(' ')
在字符上拆分?
问问题
1571 次
1 回答
4
首先,这些函数执行两个不同的任务:
' foo bar '.split() is ['foo','bar']
#a list of substrings without any white space (Note the default is the look for whitespace - see below)
' foo bar '.strip() is 'foo bar'
#the string without the beginning and end whitespace
.
当strip(' ')
只使用开头和结尾的空格strip()
时,虽然非常相似但并不完全相同,例如 tab\t
是空格但不是空格:
' \t foo bar '. strip() is 'foo bar'
' \t foo bar '. strip(' ') is '\t foo bar'
使用split(' ')
它时,将字符串“拆分”为每个空格的列表,与split()
将字符串拆分为每个“空白”的列表相比。考虑'foo bar'
(在 foo 和 bar 之间有两个空格)。
'foo bar'.split() is ['foo', 'bar']
#Two spaces count as only one "whitespace"
'foo bar'.split(' ') is ['foo', '', 'bar']
#Two spaces split the list into THREE (seperating an empty string)
微妙之处在于两个空格或几个空格和制表符被视为“一个空格”。
于 2012-09-06T08:36:46.800 回答