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