Допустим, у меня есть следующие строки:
stringX = ['187-49481,14',
'181-457216',
'196,61-04-22',
'1972-10-28',
'19,940-04-16',
'2017-08,8-29',
'2014-04-18']
Обратите внимание, что у меня есть два типа строк: тип 181-457216 и тип 1972-10-28 (дата), которые я изменяю CSV, и по какой-то причине (внимательно посмотрел, не нашел никакой причины), иногда - по-видимому, случайно - вставляет запятую между числами в этих типах строк.
Так что я хочу сделать sh состоит в том, чтобы просто обнаружить эти запятые с помощью регулярного выражения и заменить их пустыми (убрать запятые).
Скажите для первого типа строки, то есть: «187-14,412», который я пытался:
re.sub(r'\d+\-\d+(\,)\d+', '', stringX)
В этом примере запятая - это группа 1, но как я могу указать подгруппу (1) в этом регулярном выражении?
Я также пробовал смотреть назад и смотреть вперед, но у меня возникли проблемы с внешним видом:
(?<=\d+\-\d+)(\,)(?=\d+)
Err: lookbehind assertion is not fixed length at offset 0
Я бродил, если есть лучший способ для регулярного выражения этих строк, или чтобы иметь возможность указать группу (1) для re.sub