Logo

Programming-Idioms

  • Haskell
  • Ruby
  • Pascal

Idiom #221 Remove all non-digits characters

Create string t from string s, keeping only digit characters 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

for i := 1 to length(s) do
    if s[i] in ['0'..'9'] then
        t := t + s[i];
uses RegExpr;
t := ReplaceRegExpr('[^\d]', s, ''); 
t = filter (`elem` ['0'..'9']) s
t = s.delete("^0-9")

^ Meaning: everything but.
(require '[clojure.string :as str])
(let [s "1a22b3c4de5f6"
      t (str/replace s #"[^\d]" "")]
  (println t))

Uses a regex to get only the digit characters.

New implementation...