String Filter For Character Set

From Erlang Community

(Difference between revisions)
Revision as of 22:00, 18 August 2006 (edit)
Cyberlync (Talk | contribs)

← Previous diff
Revision as of 21:53, 3 September 2006 (edit) (undo)
Bfulgham (Talk | contribs)

Next diff →
Line 16: Line 16:
-[[Category:CookBook]]+[[Category:CookBook]][[Category:StringRecipes]]

Revision as of 21:53, 3 September 2006

Problem

You want to remove all but a specified set of characters from a string.

Solution

This is really a extension of what we talked about in StringCheckForChar. The Erlang lists module provides several functions that allow manipulations of strings (since they are simply lists of characters). For example, to remove non-letters from a string, we could define a predicate that recognizes only letters:

1> lists:filter(fun(X) -> lists:member(X, 
1>     "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") end,
1>     "Hello, World!").
"HelloWorld"
37> lists:filter(fun(X) -> not lists:member(X,
37> "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") end,
37> "Hello, World!").
", !"
Erlang/OTP Projects
Personal tools