質問: { 'token': 'xxxxxxxxxxxxxxxxxxxxxxx', "trigger_id": trigger_id, "dialog": JSON.stringify({"callback_id": "dialog4", "state":message_ts+','+description, "title": "追加情報を入力", "submit_label": "Submit", "elements": [ {"type": "textarea", "label": "追加情報", "name": "dialg_plus" }] }) } ``` ### 追記2 ダイアログを使用しないで、Slackの機能のTrigger Wordを使って調べてみました。 Trigger WordのあとにURLを含んだ文字列を入力して送信し、Google Spreadsheetに表示させたところ、`<>`が付きました。 入力された文字列データをGoogle apps Scriptで配列に格納しているので、配列化するとURLに`<>`が付くようです。
回答: ###### pattern1 ``` 対象の文字列.replace(/<(https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+)>/, "$1"); ``` または、 ###### pattern2 ``` function testIsUrl(str){ // url かを判定する処理 return true; // url なら return false; // url でないなら } 対象の文字列.replace(/<(.+?)>/, function (match, p1){ if(testIsUrl(p1)) return p1; return match; } ``` ###### pettern1 * 正規表現で前後に `<` と `>` で挟まれたurlを `$1" で抽出しています。 ###### pettern2 * 複雑な条件を出したいときに使えます。 * `replace` の第二引数には関数を指定できるので、urlならば url 部分を返し、そうでなければそのまま返します。 ##### 参考 * 正規表現 (url): 正規表現サンプル集 * String.prototype.replace() - JavaScript | MDN