プロジェクトでは文字列をインターセプトする必要があるため、あまり深く考えず、substr と substring に大きな違いはないと考えて、IDE によって自動的に表示される substr を使用しました。
でもそうではありません、聞いてください。
1.substr(インデックス、長さ)
開始インデックス番号の文字列から指定された数の文字を抽出します。
substr メソッドは、インデックスと長さの 2 つのパラメーターを渡すことができます。 Index は開始ビット、length はインターセプトされた長さです。
インデックスが負でない整数の場合:
a. パラメータが渡されない場合は、文字列自体が取得されます。
例: "abcdefg".substr() -> "abcdefg"
b. パラメーターが 1 つだけ、つまりインデックスに渡された場合、文字列の最後の桁がデフォルトでインターセプトされます。
例: "abcdefg".substr(2) -> "defg".
インデックスが負の整数の場合:
c. 負の整数の添字が渡された場合、後ろから前に数えて、開始ビットは 1 であり、負の整数の絶対値の添字に達すると、前から後ろにインターセプトされます。
例: "abcdefg".substr(-2) -> "fg" <=> "abcdefg".substr(-2 "abcdefg".length)
2. 部分文字列(開始、終了)
文字列内の指定された 2 つの添え字の間の文字を抽出します。
部分文字列も 2 つのパラメーターを渡しますが、これら 2 つのパラメーターは添え字の数値であり、添え字は 0 から計算され、切り取られた長さは 2 つの添え字
の差になります。「頭は含むが尾は含まない」として記録できます
例: "abcdefg".substring(2,4) -> "cd"