python - 分割连字符分隔的单词,中间有空格 | 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
- 关键字1;关键字2;关键字3
但有时关键字也存储如下:
关键字 1 - 关键字 2 - 关键字 3
我不知道如何正确拆分它们,因为连字符之间的空格让我头疼:)。非常感谢您的帮助!
解决方案
您可能想要使用正则表达式。re.split('\s*-\s*', mystring)
应该做的工作。
推荐阅读
- javascript - 在 Mobile 的 Selectzie.js 中的 2 个选定项目之间选择值的任何选项
- powershell - 如何使用 powershell 在 oracle 上读取具有时区数据数据类型的 TIMESTAMP(6)?
- google-chrome - 在我的扩展程序中,从 ChromeOS 卸载的次数增加了。ChromeOS 与其他操作系统的浏览器 API 有什么不同吗?
- python - 对 Google 街景等图像进行对象跟踪
- jquery - 如何在 jQuery UI DatePicker 中连续显示 3 周?
- lua - dofile、loadfile 和 loadstring(file:read()()) 有什么区别?
- android - 清单合并失败
- postman - Microsoft Cognitive-Speaker Recognition - 验证配置文件 - 创建注册
- python - cloudbuild.yaml 为 gcloud 计算引擎上的 python 烧瓶应用程序构建管道
- mysql - 乘法和除法产生不同比例的小数,为什么?