簡體   English   中英

如何在Python中拆分字符串?

[英]How to split a string in Python?

我已閱讀文檔,但不完全了解如何操作。

我知道我需要在字符串中有一些標識符,以便函數可以找到拆分字符串的位置(除非我可以定位句子中的第一個空格?)。

那么例如我將如何拆分: "Sico87 is an awful python developer""Sico87""is an awful Python developer"

從數據庫中檢索字符串(如果這很重要)。

在字符串上使用split方法:

>>> "Sico87 is an awful python developer".split(' ', 1)
['Sico87', 'is an awful python developer']

這個怎么運作:

  1. 每個字符串都是一個對象。 字符串對象具有在其上定義的某些方法,例如在這種情況下split 您可以使用obj.<methodname>(<arguments>)來調用它們。
  2. split的第一個參數是分隔各個子串的字符。 在這種情況下,這是一個空格' '
  3. 第二個參數是應該執行拆分的次數。 在你的情況下是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

使用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) ,它工作方式相似,但返回可變數量的項目。 它將返回一個或兩個項目的元組,第一個項目是第一個單詞直到分隔符,第二個項目是字符串的其余部分(如果有的話)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM