호두나무 공방/Exercism in Elixir

Log Parser - Exercism in Elixir

2022. 9. 16. 22:24

문제 보기

로그 파싱 예제를 통해 정규식을 배우는 개념 문제였다. 이래저래 시키는 게 많은 개념 문제 치고는 까다로운 부분 없이 간단하게 끝난 것 같다.

defmodule LogParser do
  def valid_line?(line) do
    Regex.match?(~r/^\[(DEBUG|INFO|WARNING|ERROR)\]/, line)
  end

  def split_line(line) do
    String.split(line, ~r/\<[~*=-]*\>/)
  end

  def remove_artifacts(line) do
    String.replace(line, ~r/end-of-line[0-9]+/i, "")
  end

  def tag_with_user_name(line) do
    name = Regex.run(~r/User[\s]+([^\s]+)/, line)

    if is_nil(name), do: line, else: "[USER] #{Enum.at(name, 1)} #{line}"
  end
end

'호두나무 공방 > Exercism in Elixir' 카테고리의 다른 글

Saddle Points - Exercism in Elixir  (1) 2022.09.20
Word Count - Exercism in Elixir  (1) 2022.09.19
Matrix - Exercism in Elixir  (0) 2022.09.15
Nth Prime - Exercism in Elixir  (0) 2022.09.14
Spiral Matrix - Exercism in Elixir  (0) 2022.09.13