小编Jan*_*e T的帖子

将路径名拆分为Lua中的组件的最佳方法是什么?

我有一个标准的Windows文件名与路径.我需要从字符串中分割出文件名,扩展名和路径.

我目前正在简单地从最后寻找字符串.切断扩展,并获得第一个\路径.

我确信我应该能够使用Lua模式执行此操作,但是当我从字符串的右侧开始工作时,我仍然会失败.

例如.c:\ temp\test\myfile.txt应该返回

  • C:\ TEMP \测试\
  • myfile.txt文件
  • 文本

如果这是重复的话,请提前感谢道歉,但我可以找到很多其他语言的例子,但不是Lua的例子.

lua lua-patterns

17
推荐指数
2
解决办法
1万
查看次数

在Windows中使用lua os.execute启动一个没有CMD闪存的程序

我很乐意在Lua的windows系统中启动一个程序

strProgram = '"C:\\Program Files\\Ps Pad\\PSPad.exe"'
strCmd = 'start "" '..strProgram
os.execute(strCmd)
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,启动程序和脚本完成.然而,如果它在几分之一秒内闪现命令窗口,那么任何人都可以从Lua启动程序.

windows lua command-prompt

8
推荐指数
1
解决办法
1万
查看次数

使用string.gsub替换字符串,但只能替换整个单词

我有一个搜索替换脚本,可以替换字符串.它已经可以选择进行不区分大小写的搜索和"转义"匹配(例如,允许在搜索中搜索%(等).

我怎么现在只被要求匹配整个单词,我已经尝试将%s添加到每一端,但是这与字符串末尾的单词不匹配,我无法找出如何陷入白色 - 在更换过程中发现的空间物品完好无损.

我是否需要使用string.find重做脚本并为单词检查添加逻辑,或者使用模式添加逻辑.

我用于不区分大小写和转义的项目的两个函数如下所示都返回要搜索的模式.

    --   Build Pattern from String for case insensitive search
function nocase (s)
      s = string.gsub(s, "%a", function (c)
            return string.format("[%s%s]", string.lower(c),
                                           string.upper(c))
          end)
      return s
    end
function strPlainText(strText)
    -- Prefix every non-alphanumeric character (%W) with a % escape character, where %% is the % escape, and %1 is original character
    return strText:gsub("(%W)","%%%1")
end 
Run Code Online (Sandbox Code Playgroud)

我有办法做我现在想做的事,但它不够优雅.有没有更好的办法?

   local strToString = ''
     local strSearchFor = strSearchi
    local strReplaceWith = strReplace
    bSkip = false
    if fhGetDataClass(ptr) == 'longtext' then …
Run Code Online (Sandbox Code Playgroud)

lua

6
推荐指数
1
解决办法
1972
查看次数

标签 统计

lua ×3

command-prompt ×1

lua-patterns ×1

windows ×1