从Erlang中列表中的列表中提取二进制文件

时间:2014-01-10 17:30:59

标签: erlang

我在erlang列表中的列表中有一个二进制字符串,关于如何只提取二进制字符串的任何想法

例如

    Whatihave = [[<<"hello">>]].

    Whatiwant = <<"hello">>.

非常感谢

2 个答案:

答案 0 :(得分:9)

有很多方法可以做到这一点:

  1. 使用模式匹配:

    [[Whatiwant]] = Whatihave.
    
  2. 调用hd函数,它获取列表的第一个元素,两次:

    Whatiwant = hd(hd(Whatihave)).
    
  3. 调用iolist_to_binary,这是一个更通用的函数,可以将“iolists”(字符串和二进制文件的深层列表)转换为二进制文件:

    Whatiwant = iolist_to_binary(Whatihave).
    

答案 1 :(得分:2)

使用模式匹配

[[Whatiwant]] = [[<<"hello">>]].

变量Whatiwant包含二进制字符串。