我試圖用新字符替換帶有特殊字符的字符串。用特殊字符替換字符串中的字符串
例如:
path = "assets/test-image-filename.jpg"
filename = "test-image-filename.jpg"
newFilename = "new-filename.jpg"
newPath = path:gsub(filename, newFilename)
我知道我必須逃離特殊字符,如-
與%
,但文件名是一個變量我分裂路徑後得到。
我試圖用新字符替換帶有特殊字符的字符串。用特殊字符替換字符串中的字符串
例如:
path = "assets/test-image-filename.jpg"
filename = "test-image-filename.jpg"
newFilename = "new-filename.jpg"
newPath = path:gsub(filename, newFilename)
我知道我必須逃離特殊字符,如-
與%
,但文件名是一個變量我分裂路徑後得到。
@蒂莫西G.的評論可以幫助。我自己在寫這樣的事情(兩行添加到您的代碼,實際上是一條線):
path = "assets/test-image-filename.jpg"
filename = "test-image-filename.jpg"
newFilename = "new-filename.jpg"
filename = filename:gsub('%W', '%%%1')
-- newFilename = newFilename:gsub('%W', '%%%1') -- no need to do the same for repl string
newPath = path:gsub(filename, newFilename)
%W
指任何非字母數字字符和%1
捕獲的第一串。見6.4.1 of Lua Reference Manual。
我認爲找到答案[here](http://stackoverflow.com/questions/29072601/lua-string-gsub-with-a-hyphen)會幫助你。我特別想第二個答案。 –