在Erlang中将字符串转换为整数列表

2 erlang

我试图将字符串转换为整数列表.

  String = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08".
Run Code Online (Sandbox Code Playgroud)

  lists:map(fun(X) -> string:to_integer(X) end, string:tokens(String, " ")).
Run Code Online (Sandbox Code Playgroud)

只是给我......

  [{8,[]}, {2,[]}, {22,[]}, {97,[]}, ... , {91,[]}, {8,[]}]
Run Code Online (Sandbox Code Playgroud)

有人可能会告诉我一个好/好的方式会得到什么?

  [8,2,22,97...91,8]
Run Code Online (Sandbox Code Playgroud)

(或者我需要辅助功能吗?)

rai*_*7ow 7

这有效:

String = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08".
lists:map(fun(X) -> {Int, _} = string:to_integer(X), 
                    Int end, 
          string:tokens(String, " ")).

> [8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8]
Run Code Online (Sandbox Code Playgroud)

看,string:to_integer返回不是一个整数,而是一个元组:

to_integer(String) -> {Int,Rest} | {error,Reason}
Run Code Online (Sandbox Code Playgroud)

...所以你必须从这个元组中提取第一个元素以获得实际数字.