strip ands, correct test

This commit is contained in:
InspectorCaracal 2022-10-09 22:11:20 -06:00
parent 18c3996020
commit 734f0dd20e
2 changed files with 4 additions and 1 deletions

View file

@ -717,7 +717,7 @@ class TestIntConversions(TestCase):
self.assertEqual(20, utils.str2int("twenty"))
# multi-place numbers
self.assertEqual(2345, utils.str2int("two thousand, three hundred and thirty-five"))
self.assertEqual(2345, utils.str2int("two thousand, three hundred and forty-five"))
# ordinal numbers
self.assertEqual(1, utils.str2int("1st"))

View file

@ -2810,6 +2810,9 @@ def str2int(number):
if i := _STR2INT_MAP.get(number):
# it's a single number, return it
return i
# remove optional "and"s
number = number.replace(" and "," ")
# split number words by spaces, hyphens and commas, to accommodate multiple styles
numbers = [ word.lower() for word in re.split(r'[-\s\,]',number) if word ]