import re


def keep_only_letters(text, keep_cash=True):
    """
    Remove from string `text` all characters that are not letters (letters include those 
    with portuguese accents). If `keep_cash` is true, do not remove the dollar sign 
    '$'.
    """
    if keep_cash == True:
        extra_chars = '$'
    else:
        extra_chars = ''
        
    only_letters = re.sub('[^a-z A-ZÁÂÃÀÉÊÍÔÓÕÚÜÇáâãàéêíóôõúüç' + extra_chars + ']', '', text)
    only_letters = ' '.join(only_letters.split())
    return only_letters