在Erlang中将字符串转换为元组 [英] Converting string to tuple in Erlang
本文介绍了在Erlang中将字符串转换为元组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在Erlang中将字符串转换为元组?
How to convert string to tuple in Erlang?
A = "{"hi","how"}"
我希望将其转换为
B = {"hi","how"}.
当我调用函数 list_to_tuple(A)
时,它会输出:
When I call function list_to_tuple(A)
it gives output:
{123,60,60,34,106,105,100,34,62,62,44,34,104,105,34,125}
,而不是 { hi, how}
。
推荐答案
您应使用 erl_scan 模块对字符串进行标记,然后 erl_parse 进行转换
You should use erl_scan module to tokenize the string and erl_parse to convert the tokens to a erlang term.
% Note the '.' at the end of the expression inside string.
% The string has to be a valid expression terminated by a '.'.
1> Str = "{\"x\",\"y\"}.".
"{\"x\",\"y\"}."
2> {ok, Ts, _} = erl_scan:string(Str).
{ok,[{'{',1},
{string,1,"x"},
{',',1},
{string,1,"y"},
{'}',1},
{dot,1}],
1}
3> {ok, Tup} = erl_parse:parse_term(Ts).
{ok,{"x","y"}}
4> Tup.
{"x","y"}
这篇关于在Erlang中将字符串转换为元组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文