我有一个带有特殊字符的字符串:
>> 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/