《Shell 转 Go》
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

tr 大小写转换

大小写转换

tr 其中一个最常见的, 是 大小写 的转换。

echo "abcDefg" | tr 'a-z' 'A-Z'

对于这个使用 Go 中对应的标准库 strings

func TrDemo() {
	s1 := strings.ToLower("abcDEFg") // 转小写
	s2 := strings.ToUpper("abcDEFg") // 转大写
	fmt.Println(s1, s2)
}

删除字符

使用 tr -d 删除出现的字符

echo "abcabcabc" | tr -d "ac"

这种情况下, 可以使用 strings.NewReplacer 创建自己的过滤器

func TrDeleteDemo(t *testing.T) {
	delAbc := strings.NewReplacer("a", "", "c", "")
	ret := delAbc.Replace("abcabcabc")
	fmt.Println(ret)
}

其中, NewReplacer 的参数必须为双数, 两个一组(old -> new)。 例如这里的就是 a -> 空, c -> 空, 也就是删除的意思。