2014-02-08 43 views
0

在我的SQLite3數據庫,我有以下VARCHAR數據:逃生的文本字符在Lua

data = 'Kim okurdu kim yazardı \n Bu düğümü kim çözerdi \n Koyun kurt ile gezerdi \n Fikir başka başk\'olmasa' 

我嘗試顯示該文本用:

local myText = display.newEmbossedText(data, globals.W/2,globals.H/2,300,300, native.systemFont, 16, { 1, 1, 1 }) 

然而,轉義字符沒有檢測到。我該如何解決這個問題?

回答

1

我解決我的問題有以下線,感謝Lerg從電暈社區:

data:gsub([[\n]], '\n') 
+1

+1所以數據中的\ n是兩個字符,而不是一個轉義的換行符,很好找,並感謝發佈答案。 – Schollii

+0

不客氣。謝謝你的解釋。 =) –

1

它是清潔逃脫帶有雙反斜線反斜線。 例如:data:gsub ("\\n", "\n") 否則,您可以使用load/loadstring解析任何表達式。 實施例:

myString = io.read()--read in some a string with any kind of escapes, assuming a line buffered input myString = loadstring ("return "..myString)()--load as function and call it print (myString)

然而,第二種方法可以是非常不安全,因此小心使用它。