1
我正在尋找一種解決方案來消除Bash字符串中的方括號。 例如,考慮字符串:替換/刪除Bash字符串中的文字方括號
ldr r3, [r0,#8]!
但是我不知道如何消除「[」和「]」。我想以最優雅的方式排除所有符號,例如:
str="ldr r3, [r0,#8]!"
echo ${str//[,.!]/}
但帶有方括號(含)。這如何實現?
我正在尋找一種解決方案來消除Bash字符串中的方括號。 例如,考慮字符串:替換/刪除Bash字符串中的文字方括號
ldr r3, [r0,#8]!
但是我不知道如何消除「[」和「]」。我想以最優雅的方式排除所有符號,例如:
str="ldr r3, [r0,#8]!"
echo ${str//[,.!]/}
但帶有方括號(含)。這如何實現?
使用
echo "${str//[][,.!]}"
因爲[]
是不是一個有用的模式,]
被視爲托架表達式的一部分時,它是列出的第一字符。括號表達式不能嵌套,因此對[
沒有限制。
你也可以簡單地逃脫]
:
echo "${str//[[\],.!]}"
完美。謝謝你的解釋! –