(defn formatted-string->map [str] (zipmap [:a :b :c] (let [[_ & xs] (re-matches #"(\w+) (\w+) (\w+)" str)] xs))) (formatted-string->map "aaa bbbb ccccc") ;; => {:a "aaa", :b "bbbb", :c "ccccc"}