仅从代码中提取某些字符串

时间:2011-09-14 13:11:43

标签: javascript string formatting

我有各种非常大的JavaScript文件,需要只提取某些字符串。输入将是数百行,如下所示:

function foo("ignore this string"){
var n = "copy this";
}
function bar("copy this string"){
var i = "ignore this string";
}
var globalX ="copy if over a certain length";
var globalY ="copy if within 2 lines of 'globalX'";

输出将是一个简单的字符串列表。编写规则并不难,但JavaScript可以读取100页代码并将其视为字符串以进行解析吗?如果没有,我应该使用哪些其他工具?欢迎任何建议!

1 个答案:

答案 0 :(得分:0)

根据您上面的评论 - 您需要的是JavaScript本地化机制。有几个选项取决于您构建和打包应用程序的方式。

以下是一些机制:

1)为每种语言创建一个单独的JS文件,并根据客户端加载正确的文件(通过从请求中检索他的信息)。

相当差 - 很多重复和开销。

2)一点改进的方法是用对象表示每个字符串:

var localeStrings =
{
    'some message':
    {
        'en/US':'Some text',
        'ru/RU':'Какой-то текст'
    }
}

我的代码通过调用localeStrings['some message']['en/US']来检索真实邮件,再次从请求标头中检索语言并使用我使用的'en/US'

同样很差 - 因为再次将大量不必要的数据加载到客户端。

3)根据要求进行某种形式的动态替换。

一般来说,这个想法是你有一些服务器端组件(比如servlet)用服务器端文件中的数据替换令牌(让我们说`## {some token})包含翻译。

这可能会导致用户响应有点延迟,但这只是一个假设,可能可以忽略不计。

选择你的毒药。

我相信还有更多,并且我很想在答案中看到它们。我无法找到可以开箱即用的东西。

编辑:忘了指向related conversation