2013-12-16 2 views
0

Моя проблема заключается в том, что я прочитал конкретные строки из текстового файла, и я получаю строку, как это:Разделить строку на несколько значений, Erlang

«Test, Test2, Test3, Test4, test5, test6»

Я хочу, чтобы преобразовать его, чтобы он мог полный мой список, который выглядит следующим образом:

List = [A, B, C, D, E, F]

И я вставить значения в нем, как это:

["A", «B», «C», «D», «E», «F»]

Но когда я вставляю строку, то только переменная A будет иметь значения, потому что, если я не разделяю переменные, вся строка входит в переменная A, но не другие переменные.

Что им получить:

List = [ "Test, Test2, Test3, Test4, test5, test6", "B", "C", "D", "E", "F"]

Что я хочу:

List = [ "Test", "Test2", "Test3", "Test4", "test5", "test6"]

Поэтому в основном я хочу помочь с расщеплении строка для разделения значений в Erlang!

Спасибо за помощь!

+0

В основном только вставить его, как это для начала. Тогда я попытался отделить его знаком «,», но не успел. – BorisMeister

ответ

1

Есть два встроенных способа разделить строки в erlang: string:tokens/2 и re:split/2,3.

Например, используя строковые: маркеры:

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

Использование: Re: раскол:

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

Это очень помогло мне, спасибо! В чем разница между строкой: токены и re: split? Строка – BorisMeister

+0

: токены используют очень простой механизм сканирования строк, скорее всего, просто повторяя содержимое списка и сравнивая его с токеном. re, с другой стороны, использует регулярные выражения, которые обеспечивают гораздо большую сложность, но при этом остаются достаточно эффективными (если ваше регулярное выражение не самовосстанавливается). –

Смежные вопросы