Java字符串替换前缀,从Bash中的字符串中删除固定的前缀/后缀
使用sed:$?echo?"$string"?|?sed?-e?"s/^$prefix//"?-e?"s/$suffix$//"o-wor
在sed命令中,^字符匹配以?開頭的文本$prefix,尾隨$匹配以$suffix。結尾的文本。
AdrianFrühwirth在下面的評論中提出了一些好處,但sed為此目的可能非常有用。$ sed和$ suffix的內容由sed解釋的事實可能是好的或壞的 - 只要你注意,你應該沒事。美麗的是,你可以這樣做:$?prefix='^.*ll'$?suffix='ld$'$?echo?"$string"?|?sed?-e?"s/^$prefix//"?-e?"s/$suffix$//"o-wor
這可能是你想要的,并且比bash變量替換更有魅力和更強大。如果你記得有很大的力量就會有很大的責任(正如蜘蛛俠說的那樣),你應該沒事。
關于shell及其字符串使用的注釋:
對于給出的特定示例,以下內容也可以使用:$?echo?$string?|?sed?-e?s/^$prefix//?-e?s/$suffix$//
......但僅僅是因為:echo不關心它的參數列表中有多少個字符串,以及
$ prefix和$ suffix中沒有空格
在命令行中引用字符串通常是一種好習慣,因為即使它包含空格,它也會作為單個參數顯示給命令。我們引用$ prefix和$ suffix的原因相同:sed的每個edit命令都將作為一個字符串傳遞。我們使用雙引號,因為它們允許變量插值;?如果我們使用單引號,sed命令會得到一個字面值$prefix,$suffix這肯定不是我們想要的。
還請注意,我設置的變量時,使用單引號prefix和suffix。我們當然不希望對字符串中的任何內容進行解釋,因此我們單引引它們以便不進行插值。同樣,在這個例子中可能沒有必要,但這是一個非常好的習慣。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Java字符串替换前缀,从Bash中的字符串中删除固定的前缀/后缀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机主机声音怎么办,电脑主机声音大怎么
- 下一篇: netty冲突 play sbt_《Ne