def multisplit(s, *seps):
    """
    Split a string into substrings by multiple tokens

    :param str s: string to split
    :param [str] seps: list of strings to split on
    :return: list of substrings
    :rtype: [str]
    """
    stack = [s]
    for char in seps:
        pieces = []
        for substr in stack:
            pieces.extend([x.strip() for x in substr.split(char)])

        stack = pieces

    return stack