in mgsm_eval.py [0:0]
def parse_answer(answer: str, answer_prefix: str) -> str:
if answer_prefix not in answer:
return ""
answer_text = answer.split(answer_prefix)[-1].strip()
# find all the numbers (including decimals) in the string
numbers = re.findall(r"\d+\.?\d*", answer_text.replace(",", ""))
# return the first number (removing trailing decimal point if present),
# or an empty string if there were no numbers
return numbers[-1].rstrip(".") if numbers else ""