Elixir語言中 Regex.replace
相關用法介紹如下。
用法:
replace(regex, string, replacement, options \\ [])
@spec replace(t(), String.t(), String.t() | (... -> String.t()), [term()]) ::
String.t()
接收一個正則表達式、一個二進製和一個替換,返回一個新的二進製,其中所有匹配項都被替換替換。
替換可以是字符串或函數。該字符串用作每個匹配項的替換,它允許通過 \N
或 \g{N}
訪問特定的捕獲,其中 N
是捕獲。如果使用\0
,則插入整個匹配項。請注意,在正則表達式中,反斜杠需要轉義,因此在實踐中您需要使用 \\N
和 \\g{N}
。
當替換是一個函數時,該函數可能具有 N 個參數,其中每個參數映射到一個捕獲,第一個參數是整個匹配項。如果函數需要的參數多於找到的捕獲,則剩餘的參數將收到 ""
。
選項
:global
- 當false
時,僅替換第一次出現(默認為true
)
例子
iex> Regex.replace(~r/d/, "abc", "d")
"abc"
iex> Regex.replace(~r/b/, "abc", "d")
"adc"
iex> Regex.replace(~r/b/, "abc", "[\\0]")
"a[b]c"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", "[\\1]")
"[b][d]"
iex> Regex.replace(~r/\.(\d)$/, "500.5", ".\\g{1}0")
"500.50"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", fn _, x -> "[#{x}]" end)
"[b][d]"
iex> Regex.replace(~r/a/, "abcadc", "A", global: false)
"Abcadc"
相關用法
- Elixir Regex.run用法及代碼示例
- Elixir Regex.names用法及代碼示例
- Elixir Regex.named_captures用法及代碼示例
- Elixir Regex.match?用法及代碼示例
- Elixir Regex.escape用法及代碼示例
- Elixir Regex.compile用法及代碼示例
- Elixir Regex.split用法及代碼示例
- Elixir Regex.source用法及代碼示例
- Elixir Regex.scan用法及代碼示例
- Elixir Regex.opts用法及代碼示例
- Elixir Regex用法及代碼示例
- Elixir Registry.count_match用法及代碼示例
- Elixir Registry.lookup用法及代碼示例
- Elixir Registry.unregister_match用法及代碼示例
- Elixir Registry.register用法及代碼示例
- Elixir Registry用法及代碼示例
- Elixir Registry.values用法及代碼示例
- Elixir Registry.put_meta用法及代碼示例
- Elixir Registry.keys用法及代碼示例
- Elixir Registry.start_link用法及代碼示例
- Elixir Registry.unregister用法及代碼示例
- Elixir Registry.delete_meta用法及代碼示例
- Elixir Registry.count用法及代碼示例
- Elixir Registry.meta用法及代碼示例
- Elixir Registry.select用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Regex.replace(regex, string, replacement, options \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。