String 如何使用Erlang将字符串拆分为具有多个值的列表?

String 如何使用Erlang将字符串拆分为具有多个值的列表?,string,list,erlang,String,List,Erlang,当我从.txt文件中读取特定行时,会得到如下字符串: "Test,Test2,Test3,Test4,Test5,Test6" 我想转换此字符串,以便它可以填充列表,如下所示: List = [A, B, C, D, E, F] 在这样的列表中插入值可以这样做,例如: ["A", "B", "C", "D", "E", "F"] 但是当我尝试从文件中插入字符串时,它最终只存储在A变量中,因为内容没有被拆分。其他变量没有得到预期的值 我得到的是: List = ["Test,Test2,Te

当我从.txt文件中读取特定行时,会得到如下字符串:

"Test,Test2,Test3,Test4,Test5,Test6"
我想转换此字符串,以便它可以填充列表,如下所示:

List = [A, B, C, D, E, F]
在这样的列表中插入值可以这样做,例如:

["A", "B", "C", "D", "E", "F"]
但是当我尝试从文件中插入字符串时,它最终只存储在
A
变量中,因为内容没有被拆分。其他变量没有得到预期的值

我得到的是:

List = ["Test,Test2,Test3,Test4,Test5,Test6", "B", "C", "D", "E", "F"]
我想要的是:

List = ["Test", "Test2", "Test3", "Test4", "Test5", "Test6"]
所以基本上我是在请求帮助,通过Erlang中的某个字符将字符串拆分为不同的值


谢谢你的帮助

在erlang中有两种内置的分割字符串的方法:和

例如,使用string:tokens:

Line = "Test,Test2,Test3,Test4,Test5,Test6",
[A, B, C, D, E, F] = string:tokens(Line, ",").
使用re:split:

Line = "Test,Test2,Test3,Test4,Test5,Test6",
[A, B, C, D, E, F] = re:split(Line, ",")

基本上,只需将其作为初学者插入即可。然后我试着用“,”符号把它分开,但没有任何进展。这帮了我很大的忙,谢谢!string:tokens和re:split之间的区别是什么?string:tokens使用一种非常基本的字符串扫描机制,很可能只是迭代列表的内容并与令牌进行比较。另一方面,re使用正则表达式,这允许更大的复杂性,同时仍然相当有效(假设您的正则表达式不是自破坏的)。