从字符串中移除引号

Elixir:
从字符串中移除引号

如何操作:

Elixir没有内建的“移除引号”函数,但利用模式匹配或String函数自行实现却很简单。看看这些代码片段:

# 使用模式匹配
def unquote_string("\"" <> quoted_string <> "\""), do: quoted_string
def unquote_string("'" <> quoted_string <> "'"), do: quoted_string
def unquote_string(quoted_string), do: quoted_string

# 示例使用
unquote_string("\"你好,世界!\"") # => "你好,世界!"
unquote_string("'你好,世界!'")   # => "你好,世界!"

# 使用String.trim/1
def unquote_string(string), do: String.trim(string, "'\"")

# 示例使用
unquote_string("\"你好,世界!\"") # => "你好,世界!"
unquote_string("'你好,世界!'")   # => "你好,世界!"

两种方法的输出将是:

"你好,世界!"

深入了解

回到过去,字符串中的引号是一个雷区——处理不当,轰,语法错误或安全漏洞。在Elixir中,模式匹配像处理乐高积木一样处理你的字符串,让你可以准确地拆分和重建。它强大的String模块也很方便,灵活地使用trim函数去除引号。其他选择?正则表达式可以轻松处理引号,外部库如果你需要超出基本剥离的功能,可能会提供额外的火力。

另见

深入了解这些: