2013-12-16 126 views
0

我的問題是,我讀了一個.txt文件的特定行,我得到這樣一個字符串這一個:把一個字符串轉換成多個值,二郎

「測試,Test2的,Test3的,TEST4,TEST5,TEST6」

我想把它轉換成這樣,能夠在全我的名單看起來是這樣的:

名單= [A,B,C,d,E,F]

而且我插入值它像這個:

[「A」, 「B」,「C」,「D」,「E」,「F」]

但是當我插入字符串它只有A變量將具有值,因爲如果我不分裂變量整個字符串進入A變量而不是其他變量。

什麼即時得到:

列表= [ 「測試,Test2的,Test3的,TEST4,TEST5,TEST6」, 「B」, 「C」, 「d」, 「E」, 「F」]

我想要什麼:

名單= [ 「測試」, 「Test2的」, 「Test3的」, 「TEST4」, 「TEST5」, 「TEST6」]

所以基本上我想分裂的幫助字符串來分離Erlang中的值!

感謝您的幫助!

+0

基本上只插入它,因爲它是對於初學者。然後我試着用「,」標誌來分開它,但沒有任何進展。 – BorisMeister

回答

1

在erlang中有兩種內置的拆分字符串的方法:string:tokens/2re:split/2,3

例如,使用字符串:令牌:

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

使用重新:分裂:

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

這幫了我很多,謝謝!字符串之間有什麼區別:令牌和re:split? – BorisMeister

+0

字符串:令牌使用非常基本的字符串掃描機制,很可能只是迭代列表的內容並與令牌進行比較。另一方面,使用正則表達式,它允許更大的複雜性,同時仍然相當高效(假設您的正則表達式不是自殘的)。 –