1

JavaScript でキーワードの .txt ファイルを検索する正しい構文は何ですか?

編集: Unity3D というプログラムで UnityScript という JavaScript のサブセットを使用しています。.exe プログラムを出力します。UnityScript の例を次に示します。

import System.IO;

function ReadFile () {
    var sr = new StreamReader(Application.dataPath + "/" + readFilePath);
    var fileContents = sr.ReadToEnd();
    sr.Close();

    var lines = fileContents.Split("~"[0]);
    for (line in lines) {
        Debug.Log (line);
    }
}

JavaScript から関数を取得できれば、それを自分のプログラムにインポートできると考えました。おそらく私が間違っていたことがわかりました。

ありがとう - エリオット・ボンネビル

4

3 に答える 3

3

最近のブラウザでは、ローカルに保存されているファイルにアクセスする方法がいくつかあります(つまり、Webページを表示しているユーザーと同じマシン上にあります)。ただし、ファイルがサーバー側、つまりWebサイトをホストしているマシンに保存されている場合は、JavaScriptだけでは不十分です。

ファイルがクライアントマシンでホストされている場合は、こちらをご覧ください

ただし、ファイルがサーバーマシンでホストされている場合は、サーバーへのAJAX要求を開始し、サーバーにテキストファイルをフィードバックさせることができます。(ファイルをSTDOUTに出力するだけで、HTTP要求への応答としてファイルが送信されます)。

http://en.wikipedia.org/wiki/Ajax_%28programming%29 http://www.w3schools.com/Ajax/Default.Asp

データを受け取ったら、xmlhttpobject.responsetext.match( "keyword")を使用してデータが存在するかどうかを確認できます。

于 2010-07-29T01:06:26.700 に答える
1

Javascriptはファイルシステムにアクセスできません。ActiveXプラグインまたはFlashなしではありません。

デスクトップアプリケーションまたはPowerShellスクリプトが必要なようです。

于 2010-07-29T01:05:43.053 に答える
1

これを試して:

function process(url, send, RegExp) 
{ 
    with(new XMLHttpRequest) { 
        open((send) ? "POST" : "GET", url , false);
        setRequestHeader("Content-Type:","text/Plain");
        send(send);
        if(readyState == 4)
            return RegExp != null ? responseText.match(RegExp) : responseText
    }
}

ファイル.txt:

name=frank&id=12&foo=a

のような関数を呼び出します

process("file.txt", null, /name=([^&]+).id=(\d+)&foo=([^\n]+)/g)
于 2010-07-29T01:17:22.257 に答える