我正在使用
local mystring = 'Thats a really nice house.'
string.gsub(mystring,"% ", "/",1)
用斜杠替换第一个空格字符。
但是如何只替换第二次出现的空格?
答案 0 :(得分:4)
您可以在string.gsub
中使用函数作为替换值并自行计算匹配项:
local mystring = "Thats a really nice house."
local cnt = 0
print( string.gsub( mystring, " ", function( m )
cnt = cnt + 1
if cnt == 2 then
return "/"
end
end ) )
答案 1 :(得分:4)
尝试string.gsub(mystring,"(.- .-) ", "%1/",1)
。
答案 2 :(得分:3)
您可以用其他东西替换第一个实例(假设替换不存在于字符串本身,您可以检查),然后将其替换回来:
print(mystring:gsub("% ", "\1",1):gsub("% ", "/",1):gsub("\1","% ", 1))
打印:Thats a/really nice house.
。此外,您不需要使用%
转义空格。