【发布时间】:2016-05-03 12:01:31
【问题描述】:
(抱歉,如果我关于二进制的术语已关闭 - 我仍在开始使用 Elixir)
在解决Exercism questions for Elixir 之一时,我注意到String.replace 和Regex.replace 在使用[:alnum:] 字符类时显然将德语变音符号转换为二进制:
iex(1)> String.replace("ö", ~r/[[:alnum:]]/, "_")
<<95, 182>>
iex(2)> String.replace("ö", ~r/[^[:alnum:]]/, "_")
<<195, 95>>
iex(3)> String.replace("ö", ~r/[_]/, " ")
"ö"
这种行为是由我使用[:alnum:] 字符类引起的吗? (真正让我困惑的是第一个和第二个版本都返回一个二进制文件)
【问题讨论】:
标签: elixir