【问题标题】:LUA Pattern to retrieve a specific part of text from a string [closed]LUA模式从字符串中检索文本的特定部分[关闭]
【发布时间】:2014-06-02 00:50:41
【问题描述】:

所以我在 Lua 中有一个字符串,如下所示:

[[
  en[What is your job]
  pt[Qual é o seu trabalho?]
]]

如您所料,我有时想检索“en[]”中的任何内容,有时也想检索“pt[]”中的任何内容,并将文本放入一个新变量中。

有什么想法吗?

【问题讨论】:

  • 你尝试了什么模式?即使它现在不起作用。
  • 于浩。对不起。没看到你的问题。我正在尝试pt%[(.*)%]en%[(.*)%]。 DavisDude 已经帮我修好了。谢谢。

标签: lua lua-patterns


【解决方案1】:

编辑:通过删除一些连接来提高速度。

这应该可行:

    String = [[
        en[What is your job]
        pt[Qual é o seu trabalho?]
    ]]

    function RetrieveElementFromString( String, Element, ContainerOpen, ContainerClose ) -- String is the "[[]]" part.
        return String:match( Element .. ContainerOpen .. '(.-)' .. ContainerClose )
    end

    print( RetrieveElementFromString( String, 'en', '%[', '%]' ) ) -- > What is your job

【讨论】:

  • 在这里不起作用...我尝试的是:localeMessage = string.find([[ en[Hello!] ]], 'en%[(.-[^%]])%]') print(localeMessage) 输出“2” 编辑:更改为 string:match 并得到了我想要的东西。谢谢!
  • 啊,是的。我的错。 string.find 会将它作为第三个参数返回,前两个是字符串的开始和结束(分别)。
  • 嘿,我正在考虑它并意识到我有一个无关的串联。现在它更短,使用更少的连接,使其更快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
相关资源
最近更新 更多