package common import "strings" // StripThinkTrailing cuts everything through the LAST `` marker on the // input and returns what follows, mirroring Python's // // re.sub(r"^.*", "", ans, flags=re.DOTALL) // // The Python regex is greedy: with re.DOTALL the leading `.*` matches as much // as possible, so for an input with more than one `` everything up to // and including the LAST marker is stripped. A non-greedy form would strip only // the first marker and leave a residual think block in the response. Go's // strings.LastIndex has the same greedy semantics, so it is used instead of a // regex. When no `` is present, s is returned unchanged. Note the marker // is matched regardless of whether an opening `` exists — parity with // Python, which does not require one. func StripThinkTrailing(s string) string { if i := strings.LastIndex(s, ""); i >= 0 { return s[i+len(""):] } return s }