def prefix(values, content):

    """
    Discover start and separate from content.

    :param list[str] values:
        Will scan through up to the one ``content`` starts with.
    :param str content:
        The value to scan, will separate from the start if found.

    :raises:
        :class:`ValueError` if no start matches.

    .. code-block:: py

        >>> prefix(('-', '.', '!'), './echo')
        >>> ('.', '/echo')

    """

    for value in values:

        if content.startswith(value):

            break

    else:

        raise ValueError('invalid start')

    size = len(value)

    content = content[size:]

    return (value, content)