You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在一行代码中仅调用一次String.replace()处理多个目标字符串

方案1:两个字段都需替换

通过「字符串拼接→单次替换→拆分」的方式实现,仅调用1次String.replace,单行写法如下:

[element, object | _rest] -> String.replace(element <> "|" <> object, "-", "_") |> String.split("|")

注:默认element和object本身不含分隔符|,如果有冲突可以替换为不会出现在两个字段中的特殊字符(如零宽字符\u200B)。

方案2:二选一替换单个字段

如果你的原始逻辑是仅替换两个字段中的某一个,可以先判定替换目标,单次调用替换后组装结果,示例(优先替换含-的object,否则替换element):

[element, object | _rest] -> (res = String.replace(if(String.contains?(object, "-"), do: object, else: element), "-", "_"); if(String.contains?(object, "-"), do: [element, res], else: [res, object]))

内容的提问来源于stack exchange,提问作者Borybar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:48:00