替换/删除Bash字符串中的文字方括号
问题描述:
我正在寻找一种解决方案来消除Bash字符串中的方括号。 例如,考虑字符串:替换/删除Bash字符串中的文字方括号
ldr r3, [r0,#8]!
但是我不知道如何消除“[”和“]”。我想以最优雅的方式排除所有符号,例如:
str="ldr r3, [r0,#8]!"
echo ${str//[,.!]/}
但带有方括号(含)。这如何实现?
答
使用
echo "${str//[][,.!]}"
因为[]
是不是一个有用的模式,]
被视为托架表达式的一部分时,它是列出的第一字符。括号表达式不能嵌套,因此对[
没有限制。
你也可以简单地逃脱]
:
echo "${str//[[\],.!]}"
完美。谢谢你的解释! –