Я использую Python 2.7.13 для очистки некоторых данных.
У меня есть список чисел, если строки начинаются с цифр. Если начальный номер меньше 100, мне нужно заменить его на '100 BLOCK'
. Если число больше, мне нужно заменить последние две цифры на '00 BLOCK'
.
Список текста гарантированно начинается с цифры 0 или больше.
Пример
'1234 foo foo' --> '1200 BLOCK FOO FOO'
'19 bar bar' --> '100 BLOCK bar bar'
'0 baz baz' --> '100 BLOCK baz baz'
В настоящее время я запускаю два различных выражения регулярного выражения в цикле for:
for row in listOfNumbers:
/* Replace last two digits with '00 BLOCK' */
firstRegex = re.sub(r'^(\d*)\d{2}\b', r'\g<1>00 BLOCK', row)
/* Replace digits under 100 with '100 BLOCK'. This includes 0 */
secondRegex = re.sub(r'^(\d{1,2})\b', '100 BLOCK', firstRegex)
/* Do other stuff with results
Можно ли как-то сделать это в одном регулярном выражении?