TypeScript:
部分文字列の抽出
How to: (やり方)
// 文字列から部分文字列を取得する方法
const fullText: string = 'こんにちは、TypeScript!';
// substringメソッド
const sub1: string = fullText.substring(0, 5);
console.log(sub1); // 出力: こんにちは
// sliceメソッド
const sub2: string = fullText.slice(7);
console.log(sub2); // 出力: TypeScript!
// substrメソッド (非推奨、使わない方が良い)
const sub3: string = fullText.substr(7, 10);
console.log(sub3); // 出力: TypeScript!
Deep Dive (深掘り)
最初はJavaScriptからサブストリング抽出メソッドを受け継いだTypeScript。substring
, slice
, substr
の3つのメソッドがあります。ただし、substr
は非推奨で将来のバージョンで削除される可能性があります。新しいコードではsubstring
かslice
を使いましょう。
substring
とslice
の違いは、主に引数に負の値を指定できるかどうかです。slice
は負の値を使って後ろから文字を数えられますが、substring
ではできません。また、substring
メソッドは引数の順番が逆でも最小値を始点、最大値を終点と解釈します。
他の言語でも似たような関数があり、そこでの経験がTypeScriptでの理解に繋がるでしょう。
See Also (関連情報)
- TypeScript公式ドキュメント: https://www.typescriptlang.org/docs/
- MDN Web Docs (文字列): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
- String.prototype.slice() vs String.prototype.substring(): https://stackoverflow.com/questions/2243824/what-is-the-difference-between-string-slice-and-string-substring