Исключить все десятизначные числа из названий

В таблице имеются данные разных компаний, в столбик, где пишется название компании, иногда попадает ИНН, состоящий из 10 цифр (1000000000-9999999999), как можно отобрать такие названия? Просто исключить все числа нельзя, т.к. в названиях компании может попадаться число.


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

Автор решения: Денис Денис

Нужно посчитать количество цифр в строке, если количество больше или равно 10, то такая строка подходит под отбор и проходит дальнейшее форматирование и удаляются 10 цифр в конце, а иначе остается, как есть

num = [int(i) for i in i if i.isdigit()]
g = len(num)
if g >= 10:
    print(" ".join(i.split()[:-1]))
else:
    print(i)
→ Ссылка
Автор решения: Эникейщик

Регулярное выражение: [0-9]{10} - ровно десять знаков, входящих в диапазон от 0 до 9. Или \d{10}, что то же самое (\d означает любую цифру). Но будет находить и последовательности из 10 цифр внутри более длинных последовательностей из цифр, т.к. там внутри тоже есть 10 цифр подряд. Поэтому, если встречаются такие длинные "числа", и их нужно оставить, то регулярку нужно чуток подработать.

→ Ссылка