Reputation: 21817
I have text file. I try to parse it in erlang.
Text format:
pattern1 : value1
pattern2 : value2
pattern3 : value3
...
What regular expressions to parse this file? I need key-value list in output:
[{pattern1 : value1}, {pattern1 : value1}, {pattern1 : value1}].
Thank you.
Upvotes: 2
Views: 173
Reputation: 1726
On top of my head:
foo() ->
{ok, Fd} = file:open("file.txt", [read]),
process_lines(Fd, file:read_line(Fd), []).
process_lines(_, eof, Acc) -> Acc;
process_lines(Fd, {ok, Line}, Acc) ->
[Pattern, Value] = string:tokens(Line, " :\n"),
process_lines(Fd, file:read_line(Fd), [{Pattern,Value}|Acc]).
I haven't tested this code but something like that should work.
Upvotes: 5