代码之家  ›  专栏  ›  技术社区  ›  JimPancakes

删除Lua中字符串的路径和扩展名

  •  0
  • JimPancakes  · 技术社区  · 2 年前

    我正在尝试一次获得没有路径和扩展名的文件名。我正在使用 string.match ([^\\/]+)$ 摆脱这条路,然后再摆脱另一条路 字符串匹配 具有 (.+)%.[^.]+$ 以消除扩展。这是有效的,但我想知道是否有办法用 字符串匹配 只有一次。有办法将这两个正则表达式代码组合起来吗?

    我在互联网上尝试过各种其他regex代码,但Lua似乎并不能很好地处理所有这些代码。

    在实践中:

    entirepath = "C:/Users/mail/Desktop/Something/Test.mp3"
    
    justname = string.match(entirepath, "code that keeps only filename")
    
    print(justname)
    

    结果应该是 Test .

    1 回复  |  直到 2 年前
        1
  •  0
  •   InSync Christian C. Salvadó    2 年前

    你可以试试这个

    local path = "/path/to/your/file/filename.txt"
    local filename, extension = path:match("^.+/(.+)%.(.+)$")
    
    print("Filename: " .. filename)
    print("Extension: " .. extension)