2016-12-21 24 views
0

私はのMacOS オートメーションワークフローを持っています。AppleScriptアクションを実行してください。AppleScriptのテキストの最初の行からテキストを抽出します

アクションは、テキスト(JavaScriptコードの複数行)を受信し、テキストの最初の行は、通常はこのようになります。

/* filename.js */

ファイル名は常にいくつかのケースでは、異なるものになりますその行は存在しません。

ファイル名の代わりにテキストを返すAppleScriptアクションが必要です。その行が(を見つけることができる何filename.js)が存在しません、それは不明を返す必要がある場合には

更新:広すぎるか、または可能な回答が多すぎるため、この質問を締め切ると誰かが投票しました。これは私のAppleScriptは、次のようになります。:抽出しその

on run {input, parameters} 

    return filename 
end run 

私はスクリプトは、「ファイル名」と呼ばれる変数を返しますが、私はそれの上に置くために何行知っておく必要があります。具体的に

テキストの最初の行からファイル名。

私は最初の数の結果hereで見つかったいくつかのコードを試してみましたが、私は何をしようとしている特別行う方法を見つけ出すことができませんでした。私がやろうとしている何

は次のとおりです。

  1. は、最初のスペースと」の間の文字列を取得するために正規表現とその文字列を検索し、テキスト入力
  2. 内のテキストの最初の行を取得します。 JS」
  3. 正規表現はinputは、テキストはこれを試していると仮定すると、
  4. 不明

答えて

1

を返し、何も生成しない場合、それはjavascriptのコメントトークンで有効なラインを識別し/**/

set firstLine to item 1 of paragraphs of input 
if firstLine starts with "/*" and firstLine ends with "*/" then 
    return text 4 thru -4 of firstLine 
else 
    return "unknown" 
end if 
+0

これは機能します、ありがとうございます!私は最初、私はエラーを取得して、それを実行したときに、 '{} .'、その後、私は、入力されたテキストが実際に' list'を入力したことを判断するために、 'input'の表示、アラートのクラスを使用するアイテム1を取得できません。私は 'ctxt'を入力するためのリストに変換する[ここ](http://stackoverflow.com/questions/37289223/convert-applescript-list-in-to-string)からのコードを使用し、次にこれを使用することができましたテキストを扱う上のコード。 – mike

関連する問題