Erlang替换字符串中的子字符串

nik*_*_me 2 string erlang

我想用erlang中的其他一些文本替换字符串中的出现子字符串。

问题的示例:我想用file_name2文本替换file_name1

输入:/ user / home / file_name1 .txt

输出:/ user / home / file_name2 .txt

描述与答案表示赞赏!谢谢 :)

Yos*_*aka 5

您可以使用re模块。下面的Erlang Shell中的示例:

12> re:replace("erlang/merl/Makefile", "Makefile", "README.md", [{return,list}]).
"erlang/merl/README.md"
13> re:replace("erlang/merl/Makefile", "Makefile", "README.md", [{return,binary}]).
<<"erlang/merl/README.md">>
14> {ok, Mp} = re:compile("Makefile").
{ok,{re_pattern,0,0,0,
            <<69,82,67,80,87,0,0,0,0,0,0,0,81,0,0,0,255,255,255,255,
              255,255,...>>}}
15> re:replace("erlang/merl/Makefile", Mp, "README.md", [{return,list}]).
"erlang/merl/README.md"
16>
Run Code Online (Sandbox Code Playgroud)

另外,如果要匹配大数据,则re2可能会有所帮助。它是NIF库。