首页 > 解决方案 > 分割连字符分隔的单词,中间有空格 | Python

问题描述

我想拆分逗号、分号或连字符(前面有空格)分隔的单词。
原因是我用Scrapy抓取的网站结构不一致。
到目前为止,我可以使用以下代码拆分逗号或分号分隔的单词:

for i in response.xpath('//meta[@name="keywords"]/@content').extract():
        if ',' or ';' in i:
            for k in i.split(',') or i.split(';'):
                keywords.append([k.strip()])
        else:
            keywords.append([i.strip()])

如果单词是分开的,那就行得通:

但有时关键字也存储如下:

关键字 1 - 关键字 2 - 关键字 3

我不知道如何正确拆分它们,因为连字符之间的空格让我头疼:)。非常感谢您的帮助!

标签: pythonscrapy

解决方案


您可能想要使用正则表达式。re.split('\s*-\s*', mystring)应该做的工作。


推荐阅读