If you already know the index of the words you are looking for, converting a string to an array is as simple as using parentheses:
tmp=($(echo $Str))
Then you can just echo ${tmp[4]} ${tmp[5]}
to print "a substring" without the commas.
However, if you already know what the substring is, why not grep
it from the original?
echo $Str | grep -o "a substring"
will return the substring in the same manner, but you won't need to worry about the length of the substring or the index of the words inside the array.
Edit: By the way, if you just wanted to remove the first and last character of any string you could do (bash 4.2 and above):
echo ${Str:1:-1}