【问题标题】:How can I remove text inside brackets in Lua?如何在 Lua 中删除括号内的文本?
【发布时间】:2013-04-04 11:54:26
【问题描述】:

我有一个类似"Text the I need (extra descriptor) text" 的文本,我想要"Text the I need text"

我曾尝试使用str:gsub('\([^)]*\)', ""),但由于某种原因无法使用

【问题讨论】:

    标签: regex lua gsub


    【解决方案1】:

    试试这个:

    str = str:gsub('%b()', '')
    

    【讨论】:

      【解决方案2】:

      请记住,这些是模式而不是正则表达式,因此您可以使用 % 进行转义。我在左方括号中添加了一个前导空格,但您可能希望删除它,然后分别删除双空格。

      str ="Text the I need (extra descriptor) text (more brackets)"
      str = str:gsub(' %(.-%) ','')
      print(str)
      

      【讨论】:

        【解决方案3】:

        Lua's special regex flavor 需要不同的转义字符:

        str:gsub('%([^)]*%)', "")
        

        【讨论】:

        • @EgorSkriptunoff:谢谢。通常,在字符类中转义正则表达式元字符是不必要的,但我不确定 Lua 是否会按预期运行。那么,我将删除第二个版本。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-17
        • 2012-03-10
        • 1970-01-01
        • 2021-06-07
        • 2016-08-24
        • 2019-03-11
        • 1970-01-01
        相关资源
        最近更新 更多