编写自己的自定义拆分功能:
input_string = """{J. Doe, R. Starr}, {Lorem {i}psum dolor }, Dol. sit., am. et.""" expected = ['{J. Doe, R. Starr}', '{Loremn{i}psum dolor }', 'Dol. sit.', 'am. et.'] def split(s): parts = [] bracket_level = 0 current = [] # trick to remove special-case of trailing chars for c in (s + ","): if c == "," and bracket_level == 0: parts.append("".join(current)) current = [] else: if c == "{": bracket_level += 1 elif c == "}": bracket_level -= 1 current.append(c) return parts assert split(input_string), expected


