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

String Erlang替换字符串中的子字符串,string,erlang,String,Erlang,我想用erlang中的其他文本替换字符串中的引用子字符串 问题示例:我想用文件名2文本替换文件名1 输入: /user/home/file_name1.txt 输出: /user/home/file_name2.txt 描述与答案感谢!谢谢:)您可以使用该模块。下面是Erlang shell中的示例: 12> re:replace("erlang/merl/Makefile", "Makefile", "README.md", [{return,list}]). "erlang/merl/

我想用erlang中的其他文本替换字符串中的引用子字符串

问题示例:我想用文件名2文本替换文件名1

输入: /user/home/file_name1.txt

输出: /user/home/file_name2.txt

描述与答案感谢!谢谢:)

您可以使用该模块。下面是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>
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}])。
14> {ok,Mp}=re:compile(“Makefile”)。
{好,{re_模式,0,0,0,
}}
15> re:replace(“erlang/merl/Makefile”,Mp,“README.md”,[{return,list}])。
“erlang/merl/README.md”
16>

此外,如果您正在匹配大数据,可能会有所帮助。但它是NIF库。

如果这是您的特定用例-更改文件名-您可以执行以下操作:

1> filename:dirname("/user/home/file_name1.txt") ++ "/" ++ "file_name2.txt".
"/user/home/file_name2.txt"
2>

可能重复的for join可以使用it模块中的函数:
filename:join(filename:dirname(FName),FName2)。
Nice-更好。谢谢,@DerekBrown,这确实是文件名用例的很好解决方案!!:)++1.谢谢@YoshihiroTanaka!!:)