Advanced Bash-Scripting Guide. I'd say "where has this been all my life?" but it was just written in the past few months.
Especially: Manipulating Strings with Bash. Includes clarification of an unclear point on the bash man page about the substring syntax: ${var:-3} doesn't work (full value of $var is returned), but {$var:(-3)} works (last 3 characters of value of $var). I found it looking for this: ${var%".html"} evaluates to the value of $var with the suffix ".html" removed, if any.