用 ascii 连字符“-”替换所有连字符类型

Replace all hyphen types by the ascii hyphen "-"

有没有办法用简单的 ascii“-”替换所有类型的连字符? 我正在寻找类似这样的适用于空间的东西:

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

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

我想将此 AR–L1003' 替换为 AR-L1003,但我想对整个文本执行此操作。

您可以在 class 中列出这些连字符。这是一个可能的列表——将其扩展到您的需要:

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

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

import regex

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