2015-05-17 46 views
1

目前lua有以下轉義序列:的Lua忽略轉義序列

  • \a:貝爾
  • \b:退格
  • \f:強制進
  • \n:新行
  • \r:回車
  • \t :選項卡
  • \v:垂直製表
  • \\:反斜槓
  • \":雙引號
  • \':單引號
  • \nnn:八進制值(nnn是3個八進制數字)
  • \xNN:十六進制值(Lua5.2/LuaJIT,NN是兩個十六進制數字)

Ho我可以使用一個字符串,如"\a\f\\\""忽略所有這些轉義序列,從字面上解釋它可以這麼說嗎?

+4

你是什麼意思「使用字符串」?你想做什麼? '[[...]]'字符串不能解釋任何轉義序列。 –

+0

基本上 函數檢查字(instr)< wordlist = {「FIN」,「FFI」,「PHIN」,「PHEN」,「FIN」,「PHIN」,「IFFUM」,「MUF」,「MEUFEEN」 「FEN」, 「FEEN」} 爲I,v在ipairs(單詞表)做 如果(string.match(processstring(INSTR),v)〜=零),則返回端 端 end' –

+1

哪那部分想要忽略轉義序列?你唯一沒有經過lua處理的字符串就是'wordlist'。所以你可以在wordlist中避免它們,但是當你的函數獲得它們時,instr已經解釋了它們。你準備在這裏做什麼?忽略檢查已知/錯誤詞語的逃逸字節(以避免企圖「欺騙」你的支票)? –

回答

1

我相信你能做到[\ A \˚F\]

看這裏下轉義序列: http://lua-users.org/wiki/StringsTutorial

您可能還可以做一些事情的String.Format和%Q,但我不記得那會如何導致我的頭頂。我認爲它以一種適合有效Lua的格式呈現字符串。