Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在Lua文件中是否有一些易于查找的所有字符串文本?_String_Lua - Fatal编程技术网

String 在Lua文件中是否有一些易于查找的所有字符串文本?

String 在Lua文件中是否有一些易于查找的所有字符串文本?,string,lua,String,Lua,在我的项目中,如果有一种方法可以定位Lua文件中的所有字符串文字,我会发现它非常有用,因为我的团队要求包含任何非英语字符的每个字符串文字都必须放在一些给定的定义文件中,我偶尔会违反这条规则。如果有这样的方法,那么我可以进一步检查它们,并轻松地提取那些非英语字符。这里的“定位”意味着在控制台或文件中输出位置 当然,最明显的方法是在给定的Lua文件中查找所有双引号,但这将在注释中包含字符串文字,而且这也太残酷了。所以我想知道是否有一些优雅的方式来实现这一点?非常感谢 您可以使用luac-p-l-l

在我的项目中,如果有一种方法可以定位Lua文件中的所有字符串文字,我会发现它非常有用,因为我的团队要求包含任何非英语字符的每个字符串文字都必须放在一些给定的定义文件中,我偶尔会违反这条规则。如果有这样的方法,那么我可以进一步检查它们,并轻松地提取那些非英语字符。这里的“定位”意味着在控制台或文件中输出位置


当然,最明显的方法是在给定的Lua文件中查找所有双引号,但这将在注释中包含字符串文字,而且这也太残酷了。所以我想知道是否有一些优雅的方式来实现这一点?非常感谢

您可以使用
luac-p-l-l foo.lua
,它将列出foo.lua中使用的常量,包括字符串

如果可以使用外部工具,也可以尝试my,它使用Lua lexer

下面是一个示例脚本,让您开始使用。将其另存为
strings.lua
并使用
ltokenp-s strings.lua foo.lua bar.lua
处理文件

-- token filter: extract strings

local FILE

function FILTER(line,token,text,value)
    if text=="<file>" then
        FILE=value:sub(2)
    elseif text=="<string>" then
        print(FILE,line,string.format("%q",value))
    end
end
--令牌筛选器:提取字符串
本地文件
函数过滤器(行、标记、文本、值)
如果text==”“那么
文件=值:sub(2)
elseif text==”“那么
打印(文件、行、字符串.格式(“%q”,值))
结束
结束
查看