如何使用带有特殊字符的gsub

问题描述

似乎当我添加特殊字符gsub不再对我有用。

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

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

所需的输出

"a bar walking"

解决方法

%a仅匹配字母。

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

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

查看online Lua demo

,

版本1:

#! /usr/bin/env lua

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

print( subbed )

版本2: 与以前相同,只需使用:而不是. 因此您的文本将成为gsub()函数中的第一个arg

#! /usr/bin/env lua

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

print( subbed )