【问题标题】:How to use gsub with special characters如何使用带有特殊字符的 gsub
【发布时间】:2021-02-06 11:16:45
【问题描述】:

似乎当我添加一个特殊字符时 gsub 不再适用于我。

如何使用带有此类字符的文本

 print(string.gsub("a !foo walking", "%a+",{
   ["!foo"] = "bar",
   }))

期望的输出

"a bar walking"

【问题讨论】:

  • 如果您需要匹配所有非空白字符,请尝试"%S+"

标签: lua gsub lua-patterns


【解决方案1】:

%a 只匹配字母。

要匹配任何非空白字符,您可以使用%S

print(string.gsub("a !foo walking", "%S+",{
   ["!foo"] = "bar",
}))

查看online Lua demo

【讨论】:

  • 非常感谢,这是我需要的解决方案,可以相信我错过了。
【解决方案2】:

版本 1:

#! /usr/bin/env lua

text = 'a !foo walking'
subbed = string .gsub( text, '!foo', 'bar' )

print( subbed )

版本 2: 和以前一样,只需使用: 而不是. 所以你的文本成为 gsub() 函数中的第一个参数

#! /usr/bin/env lua

text = 'a !foo walking'
subbed = text :gsub( '!foo', 'bar' )

print( subbed )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2018-07-02
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多