【问题标题】:gsub a text with codegsub 带有代码的文本
【发布时间】:2014-11-17 17:15:08
【问题描述】:

在 Lua 中,我有以下文本并希望对其进行格式化:

传入:

<UNIT STYLE="BOLD">Example</UNIT>
<UNIT STYLE="HANDLE">Example 2</UNIT>
<UNIT STYLE="THR">Example 3</UNIT>

预期结果:

<BOLD>Example</BOLD>
<UNIT STYLE="HANDLE">Example 2</UNIT>
<UNIT STYLE="THR">Example 3</UNIT>

值可以不同(例如,示例,这是文本...)。 这个怎么办?我必须将gsub 与模式一起使用吗?

【问题讨论】:

    标签: lua gsub lua-patterns


    【解决方案1】:

    是的,gsub 是要走的路:

    s=[[
    <UNIT STYLE="BOLD">Example</UNIT>
    <UNIT STYLE="HANDLE">Example 2</UNIT>
    <UNIT STYLE="THR">Example 3</UNIT>
    ]]
    
    print(s:gsub('<UNIT STYLE="BOLD">(.-)</UNIT>','<BOLD>%1</BOLD>'))
    

    也试试这个:

    print(s:gsub('<UNIT STYLE="(.-)">(.-)</UNIT>','<%1>%2<%1>'))
    

    【讨论】:

    • 谢谢。 (.-) 是什么意思?
    • @frgtv10, (.-) 表示捕获的非贪婪匹配。请参阅reference manual
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多