在python中提取带空格的字符串

时间:2018-12-18 07:21:06

标签: python regex python-3.x

我有一个字符串a='15/08/2017 TRANSFER OF LAND $610,000 CASH & MTGE'。我需要提取'TRANSFER OF LAND'作为一个单词(带空格),'$610,000'作为另一个单词,'CASH & MTGE'(带空格)作为另一个单词。我如何使用python做到这一点?我尝试使用split函数。但是split函数不包含空格。

b=a.split('15/08/2017',1)[1]
c=b.split()

我得到['TRANSFER', 'OF', 'LAND', '$610,000', 'CASH', '&', 'MTGE'],如果我也可以得到split之后的空格数量,则可以通过检查字符串后的空白空间数量来得到结果

2 个答案:

答案 0 :(得分:1)

您可以使用简单的列表理解:

>>> a = '15/08/2017 TRANSFER OF LAND $610,000 CASH & MTGE'
>>> b = a.split()
>>> c = [' '.join(i) for i in [b[1:4], b[4:5], b[5:]]]
>>> #c = ['TRANSFER OF LAND', '$610,000', 'CASH & MTGE']

答案 1 :(得分:0)

尝试使用python的re模块。 re的findall功能足以满足您的查询需求。下面的代码将为您服务。有关所用术语的大量解释,请参阅https://docs.python.org/2/library/re.html

>>> from re import findall
>>> a = '15/08/2017 TRANSFER OF LAND $610,000 CASH & MTGE'
>>> findall(r'(?<!\S)(?:[$]\S+|[^$\d]+)\b', a)
['TRANSFER OF LAND', '$610,000', 'CASH & MTGE']

我希望这足以满足您的查询