我已阅读文档但未完全了解如何操作。
我明白我需要在字符串中加入某种标识符,以便函数可以找到拆分字符串的位置(除非我可以定位句子中的第一个空格?)。
例如,我将如何拆分:
"Sico87 is an awful python developer"
到"Sico87"
和"is an awful Python developer"
?
从数据库中检索字符串(如果这很重要)。
答案 0 :(得分:19)
在字符串上使用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
答案 1 :(得分:14)
使用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)
同样有效但返回 变量 物品数量。它将返回一个或两个项目的元组,第一个项目是直到分隔符的第一个单词,第二个单词是字符串的其余部分(如果有的话)。