Регулярные выражения - PullRequest
       22

Регулярные выражения

2 голосов
/ 11 января 2011

У меня есть текстовый файл. Я пытаюсь разобрать его в эрланге.

Текстовый формат:

pattern1 : value1
pattern2 : value2
pattern3 : value3
...

Какие регулярные выражения для разбора этого файла? Мне нужен список значений ключа в выводе:

[{pattern1 : value1}, {pattern1 : value1}, {pattern1 : value1}].

Спасибо.

1 Ответ

5 голосов
/ 11 января 2011

На моей голове:

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]).

Я не тестировал этот код, но что-то подобное должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...