我有文字文件。我尝试在erlang中解析它。
文字格式:
pattern1 : value1
pattern2 : value2
pattern3 : value3
...
解析此文件的正则表达式是什么?我需要输出中的键值列表:
[{pattern1 : value1}, {pattern1 : value1}, {pattern1 : value1}].
谢谢。
答案 0 :(得分:5)
最重要的是:
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]).
我没有测试过这段代码,但是这样的代码应该有用。