Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 返回一行中的单词列表,但忽略某些空格_Python_String - Fatal编程技术网

Python 返回一行中的单词列表,但忽略某些空格

Python 返回一行中的单词列表,但忽略某些空格,python,string,Python,String,假设我有台词: 235Carling Robert 140 Simpson Ave Toronto Ont M6T9H1416/247-2538416/889-6178 你看到每个字符集合了吗?我想让它们代表数据文件中的一列。我遇到的问题是“街道地址”栏 问题是,这将把辛普森大街140号分成三个“字”。有没有一种方法我只能在单词被一定数量的空格或其他东西包围时才说separate?如果你有制表符,这是非常简单的,但是如果你只是在寻找

假设我有台词:

235Carling             Robert         140 Simpson Ave     Toronto        Ont M6T9H1416/247-2538416/889-6178
你看到每个字符集合了吗?我想让它们代表数据文件中的一列。我遇到的问题是“街道地址”栏


问题是,这将把辛普森大街140号分成三个“字”。有没有一种方法我只能在单词被一定数量的空格或其他东西包围时才说separate?

如果你有制表符,这是非常简单的,但是如果你只是在寻找有多个空格的单词,你可以使用python的
re.split
方法来实现这一点:

import re

re.split('\s{2,}', '235Carling             Robert         140 Simpson Ave     Toronto        Ont M6T9H1416/247-2538416/889-6178')

['235Carling', 'Robert', '140 Simpson Ave', 'Toronto', 'Ont M6T9H1416/247-2538416/889-6178']
其中,
\s{2,}
只匹配由2个或更多空格字符组成的任意序列

如果行与行之间的字符实际上有制表符,则可以一起避免使用正则表达式:

test = '235Carling             Robert         140 Simpson Ave     Toronto        Ont M6T9H1416/247-2538416/889-6178'

test.split('\t')

['235Carling', 'Robert', '140 Simpson Ave', 'Toronto', 'Ont M6T9H1416/247-2538416/889-6178']

您的字段是否由选项卡分隔?如果是这样,你可以使用i.split(“\t”)是的,我的是第二种情况!这到底是怎么回事?为什么
split()。我想要一个列表,其中每个字段都是一个单独的元素。这将返回一个只有一个的列表element@Amon令人惊叹的!很高兴听到这个消息。如果您还有任何问题,请告诉我。@Amon,是的,第二个问题只有在有制表符的情况下才有效,但似乎没有。
test = '235Carling             Robert         140 Simpson Ave     Toronto        Ont M6T9H1416/247-2538416/889-6178'

test.split('\t')

['235Carling', 'Robert', '140 Simpson Ave', 'Toronto', 'Ont M6T9H1416/247-2538416/889-6178']