說我有二郎二進制模式匹配未知數
Bin = <<"10=123">>
此功能
binary:split(Bin, <<"10=">>),
分裂成
[<<"10=">>, <<"123">>]
相反,我需要它來匹配最後3個數字。 即使它的345或777. 一個肯定的事情是,它將始終是3個數字。
因此,這將不是匹配整個模式
我不是用二進制文件不太好,但我相信我尋找類似
binary:split(Bin, <<01,"10=", 3/binary>>),
說我有二郎二進制模式匹配未知數
Bin = <<"10=123">>
此功能
binary:split(Bin, <<"10=">>),
分裂成
[<<"10=">>, <<"123">>]
相反,我需要它來匹配最後3個數字。 即使它的345或777. 一個肯定的事情是,它將始終是3個數字。
因此,這將不是匹配整個模式
我不是用二進制文件不太好,但我相信我尋找類似
binary:split(Bin, <<01,"10=", 3/binary>>),
我不是100%肯定你的意思,但如果你只想在< <「123」 >>一部分,那麼匹配,你可以簡單地做:
1> <<"10=", Rest/binary>> = <<"10=123">>.
<<"10=123">>
2> Rest.
<<"123">>
如果你不想完全匹配< <「10 =」>>部分只是用「_:3/binary」代替它。
如果這是你想要什麼,然後你原來的方式會工作一樣好:
1> Bin = <<"10=123">>.
<<"10=123">>
2> [_,Rest] = binary:split(Bin, <<"10=">>).
[<<>>,<<"123">>]
3> Rest.
<<"123">>
二:部分/ 3幫助?
binary:part(Bin, byte_size(Bin), -3).
cf:reference doc。 http://www.erlang.org/doc/man/binary.html#part-3
我認爲你是在什麼/位串手段是錯誤的。它與字符串無關。 – 2010-12-22 21:43:54