replace(Subject, Pattern, Replacement, Options) -> Result
OTP R14B
类型:
Subject = binary()
Pattern = binary() | [binary()] | cp()
Replacement = binary()
Options = [Option]
Option = global | {scope, part()} | {insert_replaced, InsPos}
InsPos = OnePos | [OnePos]
OnePos = integer() >= 0
integer() =< byte_size(替换)
Result = binary()
通过将 Subject 中与 Pattern 匹配的部分替换为 Replacement 的内容来构造新的二进制文件。
如果将 Subject 的匹配子部分插入到结果中,则选项 {insert_replaced, InsPos} 会在将 Replacement 插入 Subject 之前将匹配部分插入到 Replacement 的指定位置(或多个位置) 。
例子:
1> binary:replace(<<"abcde">>,<<"b">>,<<"[]">>, [{insert_replaced,1}]).
<<"a[b]cde">>
2> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[]">>,[global,{insert_replaced,1}]).
<<"a[b]c[d]e">>
3> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[]">>,[global,{insert_replaced,[1,1]}]).
<<"a[bb]c[dd]e">>
4> binary:replace(<<"abcde">>,[<<"b">>,<<"d">>],<<"[-]">>,[global,{insert_replaced,[1,2]}]).
<<"a[b-b]c[d-d]e">>
如果 InsPos 中指定的任何位置 > 替换二进制文件的大小,则会引发 badarg 异常。
选项global和{scope, part()}工作为split/3。返回类型始终是binary().
对于说明Pattern, 看compile_pattern/1.
相关用法
- erlang replace(Subject, RE, Replacement, Options)用法及代码示例
 - erlang replace(String, SearchPattern, Replacement)用法及代码示例
 - erlang repair_continuation(Continuation, MatchSpec)用法及代码示例
 - erlang reverse用法及代码示例
 - erlang rename用法及代码示例
 - erlang remove用法及代码示例
 - erlang registered用法及代码示例
 - erlang register用法及代码示例
 - erlang register(RegName, PidOrPort)用法及代码示例
 - erlang registered()用法及代码示例
 - erlang read_file_info(Filename)用法及代码示例
 - erlang read_file_info(File)用法及代码示例
 - erlang remove(Key, Map1)用法及代码示例
 - erlang referenced_byte_size(Binary)用法及代码示例
 - erlang receive_response(RequestId, Timeout)用法及代码示例
 - erlang reverse(String :: unicode:chardata())用法及代码示例
 - erlang reverse(List1, Tail)用法及代码示例
 - erlang relation_to_family(BinRel)用法及代码示例
 - erlang relative_product(ListOfBinRels)用法及代码示例
 - erlang relative_product1(BinRel1, BinRel2)用法及代码示例
 - erlang restriction(BinRel1, Set)用法及代码示例
 - erlang restriction(SetFun, Set1, Set2)用法及代码示例
 - erlang recv(Socket)用法及代码示例
 - erlang recompose(URIMap)用法及代码示例
 - erlang resolve(RefURI, BaseURI)用法及代码示例
 
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 replace(Subject, Pattern, Replacement, Options) -> Result。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
