regsub -all {[s} "s" "a" new_str] substituts to 1, whereas
regsub -all {[ß} "ß" "a" new_str] substituts to 2.
I guess it's some encoding stuff, as äöü trigger this, too. But I don't know how tcl handles special encodings.