Я применяю функцию к списку токенов следующим образом:
def replace(e):
return e
def foo(a_string):
l = []
for e in a_string.split():
l.append(replace(e.lower()))
return ' '.join(l)
Со строкой:
s = 'hi how are you today 23:i ok im good 1:i'
Функция foo исправляет написание токенов в s
.Однако есть некоторые случаи, которые я хотел бы игнорировать, например, 12: i или 2: i.Как я могу применить foo
ко всем токенам, которые не разрешены регулярным выражением: \d{2}\b:i\b|\d{1}\b:i\b
?То есть мне бы хотелось, чтобы foo
игнорировал все токены с формой 23:i
или 01:e
или 1:i
.Я думал о регулярном выражении, однако, возможно, есть лучший способ сделать это.
Ожидаемый результат будет:
'hi how are you today 23:i ok im good 1:e'
Другими словами, функция foo
игнорирует токеныс формой nn:i
или n:i
, где n
- число.