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']