Как я могу найти в файле .txt ключевое слово в Unityscript? - PullRequest
1 голос
/ 29 июля 2010

Какой правильный синтаксис для поиска в файле .txt ключевого слова в JavaScript?

РЕДАКТИРОВАТЬ: я работаю с подмножеством JavaScript под названием UnityScript в программе под названием Unity3D .Он выводит .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, я мог бы импортировать ее в свою программу.Теперь я вижу, что, возможно, я был неправ.

Спасибо - Эллиот Бонневиль

Ответы [ 3 ]

3 голосов
/ 29 июля 2010

Зависит от того, что в современных браузерах есть несколько способов доступа к локально сохраненным файлам (то есть на том же компьютере, что и пользователь, просматривающий вашу веб-страницу).Однако, если файл хранится на стороне сервера, то есть на компьютере, на котором размещен веб-сайт, одного javascript недостаточно.

Если файл размещен на клиентском компьютере, ознакомьтесь с здесь .

Однако, если файл размещен на сервере, вы можете запустить AJAX-запрос к серверу и попросить сервер передать текстовый файл.(Простая печать файла в STDOUT отправит его в ответ на запрос HTTP).

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

После получения данных вы можете использовать xmlhttpobject.responsetext.match ("ключевое слово"), чтобы определить, существует ли он.

1 голос
/ 29 июля 2010

Попробуйте это:

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
    }
}

Пример

file.txt:

name=frank&id=12&foo=a

Вызовите функцию как

process("file.txt", null, /name=([^&]+).id=(\d+)&foo=([^\n]+)/g)
1 голос
/ 29 июля 2010

Javascript не имеет доступа к файловой системе.Не без плагинов ActiveX или Flash.

Похоже, вам нужно приложение для настольного компьютера или скрипт powershell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...