我在erlang中有这个变量代码,其值为“T00059”
我想从代码
中提取此值 59我尝试使用此代码提取此值“00059”
NewCode=string:substr(Code, 2, length(Code)),
现在我想知道如何在第一个整数不为空之前消除第一个零
意味着我们如何提取“59”
例如,如果我有这个值“Z00887”我应该在最后这个值887
答案 0 :(得分:9)
您可以简单地执行(从交互式erl
会话输出):
1> Code = "Z00887",
1> {NewCode, _Rest} = string:to_integer(string:substr(Code, 2, length(Code))),
1> NewCode.
887
(我在test with loop in erlang中的回答详细讨论了相同的问题)
答案 1 :(得分:0)
此代码将跳过起始零。如果您要保存,请将$1
更改为$0
extract_integer([]) -> [];
extract_integer([H|T]) when (H >= $1) and (H =< $9) -> [H] ++ T;
extract_integer([_H|T]) -> extract_integer(T).