Заменить все типы дефисов на дефис ascii "-" - PullRequest
0 голосов
/ 12 декабря 2018

Есть ли способ заменить все типы дефисов на простой ascii "-"?Я ищу что-то вроде этого, которое работает для пробелов:

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

Я считаю, что некоторые дефисы не - "ascii" избегают правильного процесса удаления некоторых конкретных стоп-слов (имен проектов, которые связаныдефисы):

Я хочу заменить этот AR-L1003 ', например, AR-L1003, но я хочу сделать это для всего текста.

1 Ответ

0 голосов
/ 12 декабря 2018

Вы можете просто перечислить эти дефисы в классе.Вот один из возможных списков - расширьте его под свои нужды:

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

Стандартная библиотека re не поддерживает синтаксис \p для сопоставления категорий юникода, но если вы можете импортировать regex,тогда это возможно:

import regex

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