我已閱讀文檔,但不完全瞭解如何執行此操作。如何在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