将所有连字符类型替换为ASCII连字符“-”

时间:2018-12-12 20:37:07

标签: regex python-3.x hyphen

有没有一种方法可以将所有类型的连字符替换为简单的字母“-”? 我正在寻找适合太空的类似东西:

txt = re.sub(r'[\s]+',' ',txt)

我相信某些非ASCII“-”连字符会避免删除某些特定停用词(由连字符连接的项目名称)的正确过程:

例如,我想用AR-L1003代替此AR–L1003',但是我想对全文进行替换。

1 个答案:

答案 0 :(得分:4)

您可以只在课程中列出这些连字符。这是一个可能的列表-将其扩展为您的需求:

txt = re.sub(r'[‐᠆﹣-⁃−]+','-',txt)

标准re库不支持用于匹配unicode类别的\p语法,但是如果您可以导入regex,则可能:

import regex

txt = regex.sub(r'\p{Pd}+', '-', txt)