4

文字列変数の部分文字列を取得する方法があることは知っています:

MY_STR=abacaba
echo ${MY_STR:2:6}

リテラル定数として指定された文字列の部分文字列を取得する方法はありますか? 何かのようなもの:

echo ${"abacaba":2:6}
4

4 に答える 4

1

expr文字列リテラルを扱うことができます。

expr substr STR POS LEN
  • STR: 定数文字列。
  • POS: 部分文字列の最初の文字のインデックス (1 から開始)。
  • LEN: 部分文字列の長さ。

あなたの例では、それはexpr substr 'abacaba' 3 6

于 2015-07-19T16:34:31.847 に答える
1

ありませんが、関数を使用するなどの代替手段があります。

function getsub {
    sub="${1:$2:$3}"
}

getsub abacaba 2 6
echo "$sub"

function printsub {
    echo "${1:$2:$3}"
}

printsub abacaba 2 6
于 2013-09-18T06:20:00.960 に答える