s = "43821788508" s.scan(/.{1,2}(?=.{3}+$)|.{3}/).join('.') → 43.821.788.508 I love languages with regexps as first class citizens!