为了账号安全,请及时绑定邮箱和手机立即绑定

用另一个字符替换字符串中的某些字符

/ 猿问

用另一个字符替换字符串中的某些字符

函数式编程 2019-11-23 13:29:00

我有一个类似AxxBCyyyDEFzzLMN的字符串,我想用_替换所有出现的xyz

我该如何实现?

我知道这echo "$string" | tr 'x' '_' | tr 'y' '_'会行得通,但我想一口气做到这一点,而无需使用管道。


查看完整描述

3 回答

?
沧海一幻觉

echo "$string" | tr xyz _

将取代的每次出现x,y或z有_,给A__BC___DEF__LMN你的例子。


echo "$string" | sed -r 's/[xyz]+/_/g'

将取代的重复出现x,y或z与单_,让A_BC_DEF_LMN您的例子。


查看完整回答
反对 回复 2019-11-23
?
慕桂英546537

使用Bash参数扩展:


orig="AxxBCyyyDEFzzLMN"

mod=${orig//[xyz]/_}


查看完整回答
反对 回复 2019-11-23
?
Qyouu

您可能会发现此链接很有帮助:


http://tldp.org/LDP/abs/html/string-manipulation.html


一般来说,


将$ substring的第一个匹配项替换为$ replacement:


${string/substring/replacement}

要将$ substring的所有匹配项替换为$ replacement:


${string//substring/replacement}

编辑:请注意,这适用于名为$ string的变量。


查看完整回答
反对 回复 2019-11-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信