> Anyway, what I want is the position of the match. In your example the result would be 3, but the values of b and e are 5 and 7. I can't see how that tells me anything. Sorry, my fault: str="äääaöAÄBCäö" b = unicode.utf8.find(str,"%u+") print(unicode.utf8.len(string.sub(str,1,b))) -- 6 better? Patrick