当前位置: 首页 > 知识库问答 >
问题:

查找javascript文件中的所有字符串变量

翟学文
2023-03-14

我面临的问题是,我必须将一个更大的html和javascript项目翻译成几种语言。html的内容没有问题,但是大量的javascript文件是有问题的,因为我在开发过程中有点懒。例如,如果我需要一个消息文本,我只是把它添加在有关的位置。

我现在的方法是,我对每一次出现的,都使用内置文件搜索(Eclipse),这将非常耗时,错误不可避免。

以下是文件中出现的一些示例:

var d = "Datum: " + d.getDate()+"."+(d.getMonth()+1)+"."+d.getFullYear();

showYesNoDialog("heading text","Are you sure?",function(){};

有时我混合使用,有时一个字符串跨越几行:

var list="";
list+='<li data-role="list-divider">';
list+='Text To Translate';
list+='</li>';

我不想得到的东西是jquery选择器,例如:

$("input[name^=checkbox]").each(function () {};

您是否看到任何节省时间的方法来获取我要翻译的所有字符串?正则表达式?java解释器?格雷普?

我知道,这是一个有点不寻常的问题。所以任何建议都会很好。

提前谢谢!

共有1个答案

巫马松
2023-03-14

最好使用某种词法扫描程序,将代码转换为标记,然后遍历标记列表(或语法树)。有很多这样的工具(我甚至自己创建了一个——在这里你可以找到一些例子)https://github.com/AlexAtNet/spelljs/blob/master/test/scan.js).

使用它,您可以扫描JS文件,只需迭代标记即可:

var scan = require('./..../scan.js');

scan(text).forEach(function (item) {
    if (item.str) {
        console.log(item);
    }
});
 类似资料:
  • 问题内容: 我正在尝试查找“ |”的所有出现 在一个字符串中。 但我得到一个错误: 问题答案: 功能: 将返回的索引列表中的出现。

  • 问题内容: 我一直在寻找一个命令,该命令将从当前目录返回文件名中包含字符串的文件。我已经看到和命令可以找到以某些内容开头或结尾的文件。 如何返回文件名中包含字符串的文件列表? 例如,if 是当前目录中的文件。 如何返回此文件和其他包含字符串的文件?使用诸如 问题答案: 用途: 它将在当前目录中找到所有包含“字符串”的文件(如果要递归,则删除),并将其打印在屏幕上。 如果要避免文件包含“:”,则可以

  • 问题内容: 我需要解析一个HTML文档并查找其中所有出现的字符串。 我目前将HTML加载到字符串变量中。我只需要字符位置,这样我就可以遍历列表以在字符串之后返回一些数据。 该函数仅返回第 一个 匹配项。如何 全部 归还呢? 问题答案: 在不使用正则表达式的情况下,类似这样的方法应该可以返回字符串位置:

  • 问题内容: 我正在尝试查找Java字符串中所有出现的子字符串。 例如:在“ ababsdfasdfhelloasdf”中搜索“ asdf”将返回[8,17],因为有2个“ asdf”,一个在位置8,另一个在17。在“ aaaaaa”中搜索“ aa”将返回[0, 1,2,3,4],因为位置0、1、2、3和4处有一个“ aa”。 我尝试了这个: 可以在Python中解决此问题,如下所示: 其中“ wo

  • 问题内容: 我正在尝试从Java字符串中找到所有三个字母子字符串。 例如,从字符串“ example string”中,我应该得到“ exa”,“ xam”,“ amp”,“ mpl”,“ ple”,“ str”,“ tri”,“ rin”,“ ing”。 我尝试使用Java正则表达式“([[a-zA-Z]){3}”,但仅得到“ exa”,“ mpl”,“ str”,“ ing”。 有人可以告诉我

  • 本文向大家介绍在C ++中查找所有好的字符串,包括了在C ++中查找所有好的字符串的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个字符串s1和s2。这些字符串的大小为n,我们还有另一个字符串称为evil。我们必须找到好字符串的数量。 如果字符串的大小为n,则按字母顺序大于或等于s1,按字母顺序小于或等于s2,并且作为子字符串不包含邪恶,则该字符串称为良。答案可能非常大,因此请以10 ^ 9