NLP文本数据清洗问题:如何将带连字符的词条分割为独立关键词
短横线连接文本拆分清洗实现方案
核心逻辑是对目标分隔符-做字符串分割,再按需求整合结果即可,以下是不同场景的Python实现代码:
- 单条文本处理
raw_str = "data-science" result = raw_str.split("-") # 运行后result值为 ['data', 'science']
- 批量列表处理
如果待清洗数据是多条带连接符的文本组成的列表,用遍历+扁平化处理即可:
raw_list = ["data-science", "machine-learning", "computer-vision"] result = [] for text in raw_list: # 拆分后用extend方法把分割后的元素直接加入结果列表,避免嵌套 result.extend(text.split("-")) # 运行后result值为 ['data', 'science', 'machine', 'learning', 'computer', 'vision']
- 带过滤规则的拆分
如果存在不需要拆分的短横线场景(比如year-2024这类一边是数字的场景),可以用正则匹配指定规则的短横线再拆分:
import re raw_str = "data-science year-2024" # 仅拆分两侧都是英文字母的短横线 result = re.split(r'(?<=[a-zA-Z])-(?=[a-zA-Z])', raw_str) # 运行后result值为 ['data', 'science', 'year-2024']
内容的提问来源于stack exchange,提问作者TJ 777
相关产品推荐
相关产品推荐

