Fastest way to filter a string
This does not address the "faster way" part of the question: more of a code review


make sure to quote your variables: echo "$BLOCK"
"delete any character other than "AZ, AZ, 0-9,_)( ][-" ->

tr -dc '][:alnum:]_)( [-'


where -d means "delete" and -c mean "the complement of the given set". [:alnum:] is a character class matching letters and numbers.