繁体   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