def rinse_rpnexp(self, rpnexp, rpndict):
        """ replace valid keyword of rpnexp from rpndict
            e.g. rpnexp = 'b a /', rpndict = {'b': 10}
            then after rinsing, rpnexp = '10 a /'

            return rinsed rpnexp
        """
        for wd in rpnexp.split():
            if wd in rpndict:
                try:
                    val = float(rpndict[wd])
                    rpnexp = rpnexp.replace(wd, str(val))
                except:
                    pass
        return rpnexp