mirror of
https://github.com/InternLM/InternBootcamp.git
synced 2026-04-19 12:58:04 +00:00
43 lines
No EOL
993 B
Python
43 lines
No EOL
993 B
Python
|
|
def remove_boxed(s):
|
|
if "\\boxed " in s:
|
|
left = "\\boxed "
|
|
assert s[:len(left)] == left
|
|
return s[len(left):]
|
|
|
|
left = "\\boxed{"
|
|
|
|
assert s[:len(left)] == left
|
|
assert s[-1] == "}"
|
|
|
|
return s[len(left):-1]
|
|
|
|
|
|
def last_boxed_only_string(string):
|
|
idx = string.rfind("\\boxed")
|
|
if "\\boxed " in string:
|
|
return "\\boxed " + string.split("\\boxed ")[-1].split("$")[0]
|
|
if idx < 0:
|
|
idx = string.rfind("\\fbox")
|
|
if idx < 0:
|
|
return None
|
|
|
|
i = idx
|
|
right_brace_idx = None
|
|
num_left_braces_open = 0
|
|
while i < len(string):
|
|
if string[i] == "{":
|
|
num_left_braces_open += 1
|
|
if string[i] == "}":
|
|
num_left_braces_open -= 1
|
|
if num_left_braces_open == 0:
|
|
right_brace_idx = i
|
|
break
|
|
i += 1
|
|
|
|
if right_brace_idx is None:
|
|
retval = None
|
|
else:
|
|
retval = string[idx:right_brace_idx + 1]
|
|
|
|
return retval |