スリップテキスト置換ノード
スリップボックスノードの使い方(Slip Text Replace)
スリップテキスト置換(Slip Text Replace)ノードは、スリップの本文でちょうど1回だけ一致するテキストを見つけ、別のテキストに置き換えるノードです。
スリップフィールド更新ノードがタイトル・要約・本文をフィールド単位でまるごと上書きするノードだとすれば、スリップテキスト置換ノードは本文の中の特定の文や単語だけを部分的に変更したいときに使うノードです。
このチュートリアルでは、既存のスリップの本文にある見出し文言を別の文言に置換するアビリティワークフローを完成させます。
なぜ「一意に一致するテキスト」でなければならないのか
このノードで最も重要な制約は、old_textに指定したテキストがスリップの本文の中でちょうど1回だけ現れなければならないという点です。一致する箇所がない場合や、2箇所以上ある場合は置換に失敗します。
例えば、スリップの本文に以下の2つの文があるとします。
この状態でold_textにAgentriaとだけ入力するとどうなるでしょうか。「Agentria」という文字列は、2つの文それぞれに1回ずつ、合計2回登場します。ノードはこのうちどちらの位置を変更すればよいか判断できないため、置換に失敗します。
一方、old_textにAgentriaを使ってと入力すると、この表現は最初の文にしか存在せず、本文全体でちょうど1回だけ現れるため、その位置を正確に見つけて置換できます。
つまり、old_textは短く一般的な単語ではなく、前後の文脈を含めて本文全体で一意に識別できる表現として指定する必要があります。また、old_textは空白や改行まで含めて本文と一字一句正確に一致している必要があるため、対象スリップの実際の本文を確認したうえで、そのままコピーして使用するのが安全です。
事前準備
このチュートリアルを開始する前に、プロジェクトにスリップボックスが構築されており、更新対象のスリップがすでに作成されている必要があります。
スリップボックスの作成
スリップボックスがまだない場合は、スリップボックス画面の+スリップボックス作成ボタンから名前だけ入力して簡単に作成できます。スリップボックスの構築方法は、🔗スリップボックスガイドをご参照ください。
このチュートリアルを完了すると、以下のことができるようになります。
スリップテキスト置換ノードでスリップ本文の特定のテキストだけを部分的に置換できます。
old_textを本文の中で一意に識別できるテキストとして指定する方法を理解できます。スリップテキスト置換ノードの各入力変数をスタートノードの入力値と接続できます。
ノードテストと実際のスリップの確認で、置換が正しく反映されたか確認できます。
ワークフロー概要

このチュートリアルの核心はスリップテキスト置換ノードです。
スリップテキスト置換ノードは、対象スリップの公開UUID(slip_public_uuid)で更新するスリップを指定し、本文の中でold_textと正確に一致する部分を見つけてnew_textに置き換えます。new_textを空文字列にすると、一致した部分を削除する用途にも使用できます。
スリップテキスト置換ノード基本情報
スリップテキスト置換ノードは以下のオプションを提供します。
オプション | 必須 | 説明 |
|---|---|---|
| 必須 | 置換対象のスリップが属するスリップボックスを選択します。 |
| 必須 | 更新対象のスリップの公開UUIDです。 |
| 必須 | 置き換える既存のテキストです。本文と一字一句正確に一致している必要があり、本文の中でちょうど1回だけ現れる必要があります。 |
| 必須 | 置き換える新しいテキストです。空文字列を入力すると、一致した部分が削除されます。 |
このチュートリアルでは、すべての項目を使用します。
ステップ1:アビリティの作成

新しいアビリティを作成します。名前にスリップテキスト置換ノード、説明にスリップ本文の修正を入力します。
ステップ2:スタートノードの設定

スタートノード(Start Node)をダブルクリックしてノードエディター(Node Editor)に進入します。String型の変数を3つ追加します。
uuid:置換を適用するスリップの公開UUIDを受け取ります。old:置き換える既存のテキストを受け取ります。new:置き換える新しいテキストを受け取ります。
ステップ3:スリップテキスト置換ノードの設定

スリップテキスト置換ノードをダブルクリックしてノードエディターに進入します。スリップボックス公開UUIDで更新対象のスリップが属するスリップボックスを選択します。
残りの項目には、以下のようにスタートノードの入力値をドラッグ&ドロップでバインドします。
アダプター変数 | バインドする値 |
|---|---|
|
|
|
|
|
|
ノードが正常に実行されると、slip_public_uuid、current_version、error_code、error_messageが出力されます。
ステップ4:エンドノードの設定

エンドノード(End Node)をダブルクリックしてノードエディターに進入します。String型の出力変数resultを追加し、スリップテキスト置換ノードのerror_codeをドラッグ&ドロップでバインドします。result_message変数も追加で宣言し、error_messageをバインドします。
ステップ5:置換対象のスリップのUUIDと原文を確認

スリップボックスで置換対象のスリップを開き、右側の詳細情報パネルからページIDの値をコピーしておきます。この値はノードテストでuuidの入力値として使用します。
このとき、本文で実際に変更したいテキストを目で確認し、old_textとして使う表現が本文全体で一意に識別できるかをあらかじめ確認しておくとよいでしょう。このチュートリアルでは、「Agentriaへようこそ」という見出し文言を「Agentriaとは?」に置換します。
ステップ6:ノードテストの実行

uuidには先ほどコピーしたスリップの公開UUIDを、oldにはAgentriaへようこそを、newにはAgentriaとは?を入力し、テスト実行(Cmd+Enter)をクリックします。

3つのノードがすべて正常に実行され、result出力値としてSUCCESSが返されれば成功です。
ステップ7:実際のスリップで置換結果を確認

スリップボックスに移動して該当のスリップを開くと、新しいバージョンが作成され、本文の見出し文言がAgentriaとは?に変わっていることを確認できます。
次のステップ
🎉 おめでとうございます!Agentriaを使って「スリップテキスト置換」ワークフローを完成させました。
old_textにスリップの中で一意に識別される表現を指定する原理を応用すれば、複数のスリップを巡回して特定の用語やリンクだけを選び、一括で置換するワークフローへと拡張することもできます。
Agentriaは、アイデアを現実に変える可能性の空間です。
あなたのアイデア次第で、ワークフローは無限に広がります。
他のノード活用例が気になる方は 🔗ノードの使い方 ページをご確認ください。
よくある質問
スリップテキスト置換ノードは何をするノードですか?
スリップテキスト置換ノードは、スリップボックス(Slipbox)に保存されたスリップの本文から指定したテキストを見つけ、別のテキストに置き換えるノードです。対象スリップを公開UUIDで指定し、old_textと正確に一致する部分をnew_textに置換します。
なぜold_textは本文にちょうど1回だけ現れる必要があるのですか?
このノードは本文の中で変更する位置をテキストの一致だけで見つけるため、old_textが2箇所以上で見つかると、どちらの位置を変更すればよいか判断できず置換に失敗します。例えば本文に「Agentria」が何度も登場する場合、「Agentria」だけでは検索に失敗するため、「Agentriaを使って」のように文脈を含めて本文全体で1回だけ現れる表現を指定する必要があります。
スリップテキスト置換ノードとスリップフィールド更新ノードはどう違いますか?
スリップフィールド更新ノードは、タイトルや要約、本文といったフィールド全体を一括で新しい値に置き換えます。一方スリップテキスト置換ノードは、本文全体を変更するのではなく、本文の中で一意に一致する特定の文や単語だけを部分的に変更します。フィールド全体を新しく書きたい場合はスリップフィールド更新ノードを、本文の一部だけを直したい場合はスリップテキスト置換ノードを使用します。
テキストを削除したいときもこのノードを使えますか?
はい、可能です。new_textを空文字列にすると、old_textと一致した部分が削除されます。この場合もold_textは本文の中で一意に一致している必要があります。