【发布时间】:2015-05-16 03:51:47
【问题描述】:
我尝试了一个简单的字符串拆分示例,但出现了一些意外行为。这是示例代码:
def split_string(source,splitlist):
for delim in splitlist:
source = source.replace(delim, ' ')
return source.split(' ')
out = split_string("This is a test-of the,string separation-code!", " ,!-")
print out
>>> ['This', 'is', 'a', 'test', 'of', 'the', 'string', 'separation', 'code', '']
如您所见,当我使用空格作为 split() 函数的分隔符参数时,我在列表末尾得到了一个额外的空字符串。但是,如果我没有为 split() 函数传递任何参数,我在输出列表的末尾就没有空字符串。
根据我在 python 文档中读到的内容,他们说 split() 的默认参数是空格。那么,为什么当我显式传入一个 ' ' 作为分隔符时,它会在输出列表的末尾创建一个空字符串?
【问题讨论】: