Вставка пробельного символа после различных цифр Python

Подскажите, пожалуйста, есть таблица, в которой указаны различные названия лекарств с указанием веса, например: Аспирин 250мг,Кеторол 100мг. Необходимо отделить цифры от единиц измерения пробелом.

Пытался решить проблему через re.sub вроде этого:

df.name.apply(lambda x: re.sub(r'\dмг', ' мг', x))
df.name.apply(lambda x: re.sub(r'мг', ' мг', x))

, но в таком случае, в первом примере я заменяю последнюю цифру пробелом, а в следующем - заменяю все места с мг на пробелмг, а в названиях лекарств эти буквы также могут встречаться, так что тоже не вариант.


Ответы (1 шт):

Автор решения: strawdog

Нужно использовать квантификаторы. И вообще, обойтись без re.sub:

df.name.str.replace(r"(\d+)(мг)", r"\1 \2", regex = True)
→ Ссылка