「source text」に入力した文章を「text_1」「text_2」へ1行ずつ取り出します。
空行も1行として数え、名前や番号が範囲外なら空文字を返します。
最終調査日:2026年10月3日。
仮の入力値と構文をローカルで確認しています。
今回AE本体での表示・レンダリング確認は行っていません。
参照元と表示用レイヤーの準備
練習コンポにテキストレイヤーを作り、名前を「source text」にします。
1行目「おはよう」、2行目「こんにちは」、3行目「おやすみ」と入力します。
別のテキストレイヤーを作り、名前を「text_1」にします。
「ソーステキスト」のストップウォッチをAlt(MacはOption)を押しながらクリックして式を開きます。
ソーステキストへ貼る式
var source = String(thisComp.layer("source text").text.sourceText.value);
var lines = source.split(/\r\n|\r|\n/);
var match = thisLayer.name.match(/^text_([1-9][0-9]*)$/);
var row = match ? Number(match[1]) : 0;
(row >= 1 && row <= lines.length) ? lines[row - 1] : "";
表示用を複製し、名前を手動で「text_2」「text_3」に変更します。
複製時の自動命名に依存せず、末尾番号を確認します。
参照元を画面に出さない場合はsource textのビデオスイッチをオフにします。
改行・名前の確認例
| 入力・条件 | 期待する結果 | 確認点 |
|---|---|---|
| 3行の入力/text_2 | こんにちは | 完全一致の名前 |
| A・空行・B/text_3 | B | 空行を飛ばさない |
| 2行入力/text_4 | 空文字 | undefinedを返さない |
| text_0・text_01・字幕_1 | 空文字 | 正の整数の形式だけ対応 |
旧式はCRLFを2つの改行として扱い、2行目が空になる入力がありました。
修正版はCRLFを先に処理し、CR単独とLF単独も分割します。
撮影した練習例です。
左のテキストは「FIRST」「SECOND」「THIRD」の3行で、2行目の「SECOND」を別のレイヤーへ取り出した画面です。
右側のオレンジ色の文字が、取り出した「SECOND」でした。
この画面の式は、本文の式とは違います。
参照元のレイヤー名は「SourceLines17781」、表示用は「ReferencedLine17781」で、本文の「source text」「text_1」ではありません。
行の番号も、名前からではなく、式の中の「var index = 1;」で指定していました。
この番号は0から数えるので、1は2行目です。

次は、同じ式の「index」を5に変えた画面です。
3行しかないので、範囲外の番号です。
コンポジションパネルには左の3行だけが表示され、取り出した文字は何も表示されませんでした。
式の最後には「: ”;」があり、範囲外のときは空文字を返す形でした。

このように、範囲外の番号でも、エラーにならず空になります。
本文の式も、範囲外は空文字を返します。
表示されないとき・戻し方
空文字なら表示用の名前と行番号を確認します。
エラーならsource textが同じコンポに1つ存在し、名前の前後に空白がないか確認します。
変更前にコンポと文章を複製して保管します。
戻すときは式をオフにし、表示用へ保管した文章を再入力します。
一部分だけ文字を装飾する場合は、必要な行を新しい通常のテキストレイヤーへコピーして装飾します。
式をキーフレームへ変換してキーを削除する方法を、文字列保持の手順には使いません。
旧版の参考画像
次の画像は既存記事の参考画像で、今回の修正版をAE実機で撮影したものではありません。




参照資料
Adobeのエクスプレッション言語資料を参照しています。
関連記事・既存の参考資料
同じ区画の関連記事です。
各記事の貼付先と確認範囲を確認して使います。





よくある質問:After Effectsでテキストを1行ずつ別レイヤーに取り出すとき
この式は、何をしますか?
「source text」に入力した文章を、「text_1」「text_2」へ1行ずつ取り出します。空行も1行として数え、名前や番号が範囲外なら空文字を返します。
練習の準備として、何を用意しますか?
練習コンポにテキストレイヤーを作り、名前を「source text」にして、1行目「おはよう」、2行目「こんにちは」、3行目「おやすみ」と入力します。別のテキストレイヤーを作って名前を「text_1」にし、「ソーステキスト」のストップウォッチをAlt(MacはOption)を押しながらクリックして式を開きます。
2行目以降は、どうしますか?
表示用を複製し、名前を手動で「text_2」「text_3」に変更します。複製時の自動命名に依存せず、末尾番号を確認します。参照元を画面に出さない場合は、source textのビデオスイッチをオフにします。
空行があるときは、どうなりますか?
空行も1行として数え、飛ばしません。記事の例では、A・空行・Bと入力した場合、text_3はBになります。
行数より大きい番号や、おかしな名前のときは?
範囲外の番号は空文字を返し、undefinedは返しません。記事の例では、2行入力でtext_4は空文字です。text_0・text_01・字幕_1も空文字で、正の整数の形式だけ対応します。
改行コードの違いで、行がずれることはありますか?
旧式はCRLFを2つの改行として扱い、2行目が空になる入力がありました。修正版はCRLFを先に処理し、CR単独とLF単独も分割します。
何も表示されないときや、エラーになるときは?
空文字なら、表示用の名前と行番号を確認します。エラーなら、source textが同じコンポに1つ存在し、名前の前後に空白がないか確認します。名前は完全一致が必要です。
元に戻すには、また、一部の文字だけ装飾したいときは?
変更前にコンポと文章を複製して保管します。戻すときは式をオフにし、表示用へ保管した文章を再入力します。一部分だけ文字を装飾する場合は、必要な行を新しい通常のテキストレイヤーへコピーして装飾します。式をキーフレームへ変換してキーを削除する方法は、文字列保持の手順には使いません。この式は、仮の入力値と構文をローカルで確認したもので、AE本体での表示・レンダリング確認は行っていません(2026年10月3日調査)。
