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




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





