[英]split a line of data with a constraint
當我需要分割一行數據時,我得到以下結果:
>>> s="MS Dhoni cricket captain 10000"
>>> val=s.split()
>>> print val
['MS', 'Dhoni', 'cricket', 'captain', '10000']
但是我希望以下面的方式編寫代碼:
['MS Dhoni', 'cricket', 'captain', '10000']
盡管在特定位置有空間,但必須跳過。 如何修改代碼?
該代碼可以滿足您的要求
import re
s="MS Dhoni cricket captain 10000"
print(re.split("\s(?=[a-z0-9])",s))
輸出:
['MS Dhoni', 'cricket', 'captain', '10000']
說明:按空格分割,但僅在其后跟隨小寫字母或數字時(由於使用了?=
構造,因此在分割操作中不使用(超前)
但是這是作弊:如果MS Dhoni
處於字符串的中間,那是行不通的。 您假設python知道如何讀取區分詞(Mr,...)或將僅包含大寫字母以及下一個單詞的單詞組合在一起。 那只是在你的腦海。
它回答了您的問題,但是如果您希望答案對您的項目有用,則必須更加具體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.