如何删除已分配给变量的Erlang字符串中的空格?

时间:2012-10-19 16:42:56

标签: parsing file-io erlang

我正在以下列格式阅读数据:

{ok,Volts} = file:open("voltage1.dat",read).

在'voltage.dat'文件中有一个值被转换为 字符串

" 9.9944639227844667e-001\n"。这应该分配给Volts变量。

为了稍后使用string_to_float函数,我需要删除空格 并删除\ n分隔符。

我已探索过使用string:stripstring:substrre:replace库函数。

当我尝试其中的每一个时,我使用变量Volts作为输入字符串,例如:

string:substr(Volts,3,18).

这不起作用。我认为这是因为我的方式 输入Volts变量。

有人可以把我弄好吗?

2 个答案:

答案 0 :(得分:3)

{ok,Volts} = file:open("voltage1.dat",read).

只会打开文件; Volts是文件描述符,而不是文件的内容。要读取文件,您可以使用io module中的函数。除了阅读整个文件然后解释,您可以使用fread/3

1> {ok, V} = file:open("voltage.dat",read).
{ok,<0.34.0>}
2> io:fread(V,'',"~f").
{ok,[0.9994463922784467]}

如果您不想/可以这样做(可能您的文件格式更复杂),请记住该字符串是列表,因此您可以使用filter/2和其他列表函数

答案 1 :(得分:0)

如果你控制in [ut文件格式,你可以使用file:consult / 1,它将直接读到这些术语。