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

时间:2018-04-23 14:59:24

标签: replace erlang character

我想检查字符串是否包含特定字符(&#34; *&#34;),如果是,我想将其替换为另一个字符(&#34;%&#34;)。< / p>

像这样: String =&#34; John *&#34;

对...的更改 String =&#34; John%&#34;

谢谢

2 个答案:

答案 0 :(得分:1)

直接的:

-module(replace).

-export([replace/3]).

replace([], _, _) -> [];
replace([H|T], P, R) ->
    [ if H =:= P -> R;
         true -> H
      end | replace(T, P, R)].

用法:

$ erl
Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.3  (abort with ^G)
1> c(replace).
{ok,replace}
2> replace:replace("John*", $*, $%).
"John%"

答案 1 :(得分:0)

> io:format(string:replace("John*", "*", "%")).

您可以使用 replace