解决 Lua 格式化字符串报错 不合法的转义符

0、问题描述

invalid option '%{' to 'format'
invalid option '%;' to 'format'

这是我在转义包含 CSS 时遇到的问题,同样,你还可能遇到:

invalid option '%(这里是多余的字符)' to 'format'

类似的错误。

1、解决方法

合法的转义字符列表,参考:

Lua 字符串
https://www.runoob.com/lua/lua-strings.html

因此,执行string.format()在遇到%(不属于转义字符的文字或符号)时,就会报这个错误。

因此,如果是错误地加入了非转义字符,应该删除;

如果是需要输入百分号(%),应该转义:

原始:%
转义:%%

如果是合法的转义字符被判定为非法,建议把它删除后用键盘重新敲一次:

原字符:%О(注意,这个是俄文而不是0
重新输入:%0(这个是数字0

因为从网上复制的代码中可能包含莫名其妙的不可见字符或小语种符号,看起来和真正的转义字符一模一样。

解决 Lua 格式化字符串报错 不合法的转义符

https://blog.tsinbei.com/tw/archives/1242/

文章作者
Hsukqi Lee
发布于

2023-04-30

修改于

2023-06-22

许可协议

CC BY-NC-ND 4.0

# 学习  建站  编程  Nginx  网站  服务器  Linux  软件  Lua

评论

昵称
邮箱
网址
暂无