2015-01-31 18 views
5

Chcę zastąpić wszystkie wyrażenia $br$ w ciągu znaków dla znaku '\n'.gsub w Lua. Nie można zastąpić wzoru

Napisz następujący kod: str = string.gsub("String 1 $br$ String 2", "$br$", "\n").

Ale to nie działa i wyświetla ciąg String 1 $br$ String 2. Co ja robię źle?

Odpowiedz

6

Musisz uciec z postaci $, ponieważ reprezentuje ona koniec linii.

str = string.gsub("String 1 $br$ String 2", "%$br%$", "\n") 

Jeśli chcesz chwycić spacje wokół $br$, a także:

str = string.gsub("String 1 $br$ String 2", "%s*%$br%$%s*", "\n") 
+1

Link do dokumentacji Lua wzorów: http://www.lua.org/manual/5.3/manual.html#6.4 .1 – Deduplicator