簡體   English   中英

用約束分割一行數據

[英]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.

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