如何替换字符串Erlang中的字符?

max*_*max 3 regex erlang

我有这段代码获取sessionid,使其成为一个字符串,然后创建一个带密钥的集合,例如{{1401,873063,143916},<0.16443.0>}在redis中.我正在尝试{用字母"a" 替换此会话中的字符.

OldSessionID= io_lib:format("~p",[OldSession#session.sid]),
StringForOldSessionID = lists:flatten(OldSessionID),
ejabberd_redis:cmd([["SADD", StringForSessionID, StringForUserInfo]]);
Run Code Online (Sandbox Code Playgroud)

我试过这个:

re:replace(N,"{","a",[global,{return,list}]).
Run Code Online (Sandbox Code Playgroud)

这是一个很好的方法吗?我读到Erlang中的regexp并不是一种建议的做事方式.

Pas*_*cal 9

你的解决方案有效,如果你对它感到满意,你应该保留它.

在我这边,我更喜欢列表理解:[case X of ${ -> $a; _ -> X end || X <- StringForOldSessionID ].(只是因为我没有检查功能文档:o)