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

cnwbcb6i  于 2022-12-16  发布在  Erlang
关注(0)|答案(2)|浏览(190)

我想检查字符串是否包含特定字符(“*“),如果是,我想用另一个字符(“%“)替换它。
像这样:String = "John*"
更改为:String = "John%"
谢谢

dxxyhpgq

dxxyhpgq1#

直截了当:

-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%"
fafcakar

fafcakar2#

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

您可以使用string:replace/3。

相关问题