def splitOnFirst(string, char):
    """
    Splits on only the first instance of a character.  Like the .split()
    method, removes the splitting character, but other instances of the
    character are retained.  Always returns a 2-tuple, with the whole
    string in the first element if the char is not found.
    """
    index = string.find(char)
    if index >= 0:
        return string[:index], string[index + 1:]
    else:
        return string, ''
