Truncating a variable

I have a variable that is a full path name and I just want the file name with out the extension. I have figured out how to do this using some temp files but I would really like to avoid that if possible.

I know I can do

echo ${TMPNAME%.*} to drop the extension is there a similar way to drop everything before the last '/'?

Thanks for the help.

$ v==zsh
$ print $v
/usr/bin/zsh
$ print ${v##*/}
zsh

Thanks,
Can you tell me why this works or give me a reference so I can read about it?

Yes (adjust the shell for your needs):

man bash|less -p##