====== [regsub -all {[s]} "s" "a" new_str] ====== substitutes to 1, whereas ====== [regsub -all {[ß]} "ß" "a" new_str] ====== substitutes to 2. I guess it's some encoding stuff, as äöü trigger this, too. But I don't know how tcl handles special encodings. ----- [MG] For me, both [regsub] calls return 1 as expected, with Tcl 8.5.7.