在Lua文本中转义字符

时间:2014-02-08 09:44:40

标签: string sqlite lua escaping corona

在我的SQlite3数据库中,我有以下VARCHAR数据:

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 } )

但是,未检测到转义字符。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我通过以下方式解决了我的问题,感谢来自Corona社区的Lerg:

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

答案 1 :(得分: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 )

但是,第二种方法可能非常不安全,因此请谨慎使用。