我尝试了一个使用字符串分割的简单示例,但出现了一些意外的行为。这是示例代码:
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() 的默认参数是空格。那么,为什么当我显式传入“ ”作为分隔符时,它会在输出列表的末尾创建一个空字符串?
The docs https://docs.python.org/2/library/stdtypes.html#str.split:
如果 sep 未指定或为 None,不同的分割算法是
应用:连续的空白被视为单个
分隔符和结果将不包含空字符串在开始时or end如果字符串有前导或尾随空格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)