elixir - 如何在 elixir 中拆分字符串以保持分隔符?

标签 elixir

我有一个带有特殊字符的字符串:

>> text = "ab()-cdef"

我想将列表中的字母与特殊字符分开

>> list = ["ab", "(" , ")" ,"-", "cdef"]

我试过

list = String.split(text,["(",")","-"], trim: false)

但是我丢失了特殊字符

list = ["ab","","","","cdef"]

最佳答案

documentation for Regex.split提到 :include_captures 选项:

iex> Regex.split(~r{(x)}, "Elixir", include_captures: true)
["Eli", "x", "ir"]

iex> Regex.split(~r{a(?<second>b)c}, "abc", on: [:second], include_captures: true)
["a", "b", "c"]

注意当String.split与正则表达式一起使用,您也可以使用此选项。

关于elixir - 如何在 elixir 中拆分字符串以保持分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58020403/

相关文章:

docker - Docker 上的 Erlang/Elixir 和热代码交换

templates - 在 Phoenix Framework 的模板文件中加载环境变量

Elixir - 按名称获取主机?

elixir - 在 Elixir 的 ExUnit 中,是否可以只运行一个测试?

elixir - Elixir 中的返回语句

recursion - 有没有办法显式地编写一个 elixir 函数来优化尾调用?

sorting - Elixir 如何对列表理解进行排序?

elixir - Elixir 中测试主管的最佳实践

elixir - Phoenix : Broadcasting from IEx console

elixir - insert_all不会使用ecto 2.0创建自动生成的insert_at