二进制语法:用多个模式拆分

时间:2011-01-12 17:32:19

标签: erlang

当我们使用多个模式时,正确的语法是什么?

test3()->
    test4(<<"1234567890">>).
test4(A)->
    X = binary:split(A,[<<"3">>,<<"8">>]),
    X.

[<<"12">>,<<"4567890">>]

我被期待3个元素!

1 个答案:

答案 0 :(得分:3)

为了获得3个元素,你应该使用split / 3函数并指定全局选项(“重复拆分直到主题用尽”):

binary:split(<<"1234567890">>,[<<"3">>,<<"8">>],[global]).

你会得到:

[<<"12">>,<<"4567">>,<<"90">>]

更多相关信息,请参阅官方文档:http://www.erlang.org/doc/man/binary.html#split-3

希望它有所帮助。