텍스트 검색 및 교체

Elixir:
텍스트 검색 및 교체

How to:

Elixir에서는 String 모듈을 사용해 쉽게 텍스트를 검색하고 교체할 수 있습니다. 아래 예제를 참고하세요.

# 문자열에서 "world"를 찾아 "Elixir"로 바꿉니다.
original_text = "Hello, world!"
replaced_text = String.replace(original_text, "world", "Elixir")

IO.puts replaced_text

샘플 출력:

Hello, Elixir!

정규 표현식을 사용하려면, Regex 모듈을 이용할 수 있습니다.

# 문자열에서 숫자를 찾아 괄호로 둘러싸기
text_with_numbers = "My 2 cats and 3 dogs."
regex_pattern = ~r/\d/

new_text = Regex.replace(regex_pattern, text_with_numbers, fn number -> "{#{number}}" end)

IO.puts new_text

샘플 출력:

My {2} cats and {3} dogs.

Deep Dive

엘릭서(Elixir)의 텍스트 검색 및 교체 기능은 내부적으로 Erlang의 문자열 처리 기능을 사용합니다. 이는 Elixir가 에를랑 VM(가상 머신) 위에서 실행되기 때문입니다.

전통적으로 문자열을 처리하는 다른 방법은 문자열을 순회하며 교체하는 것이지만, 이는 느릴 수 있습니다. Elixir는 바이너리 패턴 매칭을 사용하여 효율적으로 문자열을 처리합니다.

제공되는 String 모듈에서는 원하는 패턴을 검색하고 그 결과를 다양한 방법으로 교체하는 여러 함수를 제공합니다. String.replace/3는 가장 기본적인 함수이며, 정규 표현식을 사용할 경우 Regex.replace/4를 사용할 수 있습니다.

See Also