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

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

本文介绍了用另一个字符替换字符串中的某些字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像 AxxBCyyyDEFzzLMN 这样的字符串,我想替换所有出现的 x y z _ .

I have a string like AxxBCyyyDEFzzLMN and I want to replace all the occurrences of x, y, and z with _.

我该如何实现?

我知道echo "$string" | tr 'x' '_' | tr 'y' '_'可以工作,但是我想一口气做到这一点,而无需使用管道.

I know that echo "$string" | tr 'x' '_' | tr 'y' '_' would work, but I want to do that in one go, without using pipes.

推荐答案

echo "$string" | tr xyz _

将用_替换每次出现的xyz,在示例中为A__BC___DEF__LMN.

would replace each occurrence of x, y, or z with _, giving A__BC___DEF__LMN in your example.

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

将用单个_替换重复出现的xyz,在示例中为A_BC_DEF_LMN.

would replace repeating occurrences of x, y, or z with a single _, giving A_BC_DEF_LMN in your example.

这篇关于用另一个字符替换字符串中的某些字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 17:54