我已阅读文档,但不完全了解如何执行此操作。如何在Python中分割字符串?
我知道我需要在字符串中有某种标识符,以便函数可以找到拆分字符串的位置(除非我可以定位到句子中的第一个空格吗?)。
因此,例如,我将如何拆分: "Sico87 is an awful python developer"
到"Sico87"
和"is an awful Python developer"
?
字符串从数据库中检索(如果这很重要)。
我已阅读文档,但不完全了解如何执行此操作。如何在Python中分割字符串?
我知道我需要在字符串中有某种标识符,以便函数可以找到拆分字符串的位置(除非我可以定位到句子中的第一个空格吗?)。
因此,例如,我将如何拆分: "Sico87 is an awful python developer"
到"Sico87"
和"is an awful Python developer"
?
字符串从数据库中检索(如果这很重要)。
使用partition(' ')
它总是返回元组中的三个元素 - 第一位直到分隔符,分隔符,然后是位之后的位。元组中具有不适用的插槽仍然存在,只是设置为空字符串。
实例: "Sico87 is an awful python developer".partition(' ')
返回["Sico87"," ","is an awful python developer"]
"Sico87 is an awful python developer".partition(' ')[0]
返回"Sico87"
一种替代,棘手方法是使用split(' ',1)
其中工程similiarly但返回可变数量的项目。它将返回一个或两个元素的元组,第一个元素是第一个字直到分隔符,第二个元素是字符串的其余部分(如果有的话)。
使用的字符串split
方法:
>>> "Sico87 is an awful python developer".split(' ', 1)
['Sico87', 'is an awful python developer']
工作原理:
split
。你用obj.<methodname>(<arguments>)
给他们打电话。split
的第一个参数是分隔各个子字符串的字符。在这种情况下,这是一个空间,' '
。第二个参数是分割的次数。你的情况是1
。离开了这第二个观点也适用分割,尽可能多:
>>> "Sico87 is an awful python developer".split(' ')
['Sico87', 'is', 'an', 'awful', 'python', 'developer']
当然,你也可以存储在独立的变量,而不是一个列表中的字符串:
>>> a, b = "Sico87 is an awful python developer".split(' ', 1)
>>> a
'Sico87'
>>> b
'is an awful python developer'
但这样做需要注意的是如果某些输入不包含空格,这会造成麻烦:
>>> a, b = "string_without_spaces".split(' ', 1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
感谢很好的方式来解释分割功能 – user765443 2013-04-09 13:19:48
您的添加不合适。请问一个新问题。 – SilentGhost 2009-12-03 11:35:30
这不合适吗?这是问同样的问题,但代码示例?谈论迂腐! – Udders 2009-12-03 11:54:15
这不是书信。StackOverflow非常有用,因为单独的问题是分开的,所以这个精确问题的好答案会浮到顶端。在您使用的任何模板系统中使用Python与如何分割字符串非常正交。 – 2009-12-03 16:37:33