str.partition
返回一个由三个元素组成的元组。分割字符串之前的字符串、分割字符串本身和剩余的字符串。因此,它应该像这样使用。
first, middle, rest = name.partition(" ")
print first, rest
要使用str.split
函数,你可以像这样简单地打印分割后的字符串
print name.split(" ")
但是,如果您像这样调用它,如果字符串具有多个空格字符,则会得到多于两个元素。例如:
name = "word1 word2 word3"
print name.split(" ")
如果您只想拆分一次,可以将拆分次数指定为第二个参数,像这样:
name = "word1 word2 word3"
print name.split(" ", 1)
但是,如果你想根据空格字符进行分割,你不必传递" "
。你可以简单地执行
name = "word1 word2 word3"
print name.split()
如果你想限制分割的次数,
name = "word1 word2 word3"
print name.split(None, 1)
注意:如果在split
中使用None
或者未指定参数,就会发生以下情况
引用自split文档
如果未指定分隔符sep或者将其设置为None,则应用不同的分割算法:连续的空格被视为单个分隔符,并且如果字符串具有前导或尾随空格,结果将不包含任何空字符串。因此,使用无分隔符的空字符串或仅由空格组成的字符串进行拆分会返回[]。
因此,您可以像此示例代码一样更改程序
print "Partition:"
first, middle, rest = name.partition(" ")
for current_string in (first, rest):
print current_string
print "Split:"
for current_string in name.split(" "):
print current_string
或者您可以像这样使用str.join
方法
print "Partition:"
first, middle, rest = name.partition(" ")
print "\n".join((first, rest))
print "Split:"
print "\n".join(name.split())