将elrang长名称分为短名和主持人

时间:2014-03-05 14:11:03

标签: erlang

我需要这几次,但我没有找到一个好的解决方案 都没找到。

拆分整个节点名称,如

返回的名称
node()

,其格式为

FullName = 'node_name@localhost'

我希望拆分节点名称hostname

{ 'node_name', 'localhost'} = split_node_name(FullName)

到目前为止,我已经转换为列表并拆分@,但是 它感觉很难看,应该在标准库中。

2 个答案:

答案 0 :(得分:3)

string:tokens与其他语言中的split()类似。

A = atom_to_list(node()).
string:tokens(A, "@").

在您的情况下,它将返回['node_name', 'localhost']


如果您想要一个元组,请使用list_to_tuple()/1

list_to_tuple(A).

答案 1 :(得分:0)

我想出了类似的东西:

list_to_tuple([list_to_atom(A)||A<-string:tokens(atom_to_list(node()), "@")]).