6

私はこの値を持つerlangにこの変数コードを持っています"T00059"

59この値をCodeから抽出したいと思います。

このコードでこの値を抽出しようとしています "00059"

NewCode = string:substr(Code, 2, length(Code)),

ここで、null でない最初の整数の前に最初のゼロを削除する方法を知りたいと思います。つまり、どのように抽出でき "59"ますか?

たとえば、この値がある場合"Z00887"、最終的な this value にある必要があります 887

4

2 に答える 2

9

簡単にできます(インタラクティブerlセッションからの出力):

1> Code = "Z00887",
1> {NewCode, _Rest} = string:to_integer(string:substr(Code, 2, length(Code))),
1> NewCode.
887

( erlangのループを使用したテストでの私の答えは、同じ問題に関してより詳細になります)

于 2013-02-11T21:37:40.553 に答える
1

このコードはゼロの開始をスキップします。$1それらを保存したい場合は、$0

extract_integer([]) -> [];
extract_integer([H|T]) when (H >= $1) and (H =< $9) -> [H] ++ T;
extract_integer([_H|T]) -> extract_integer(T).
于 2013-02-11T22:51:41.897 に答える