lua - 使用lua更改属性名称的xml标记
问题描述
我是新来的lua
,我想更改XML
标签和attribute
名称。我的 XML 是:
<art>
<fm>
<art-meta>
<his>
<date date-type="rec"><day>23</day><month>1</month><year>2002</year></date>
<date date-type="acc"><day>21</day><month>4</month><year>2002</year></date>
</his>
</art-meta>
</fm>
</art>
我试过了FileGlobal = string.gsub(FileGlobal,"<date data-type=\"rec\">", "<date-rec>")
还是不行?
我想更改<date date-type="rec">
为<date-rec>
. 如何做到这一点?
解决方案
模式(gsub 的第二个参数)中有一个拼写错误,它寻找的date data-type
不是我们在 xml 中看到的,date date-type
.
除此之外,模式中还有一个实际问题需要注意:Lua 模式使用特殊字符,例如- $ ^ () [ %
. 你必须像这样逃避-
in :.
在较小程度上,还值得注意的是,您不需要转义双引号(尽管这会起作用)。您可以将字符串用单引号或双括号括起来,其中的双引号将被识别为字符串的一部分。
示例:或
工作模式的最终示例:错字已修复,破折号已转义。
date-type
date%-type
'Foo "egg" bar'
[[Foo "egg" bar]]
'<date date%-type="rec">'
推荐阅读
- python - Python:在两个字典列表中查找匹配记录(不同的键名)
- elasticsearch - 如何为redis定义logstash配置文件
- node.js - Docker 容器连接到主机的 Kafka 抛出:错误:连接 ECONNREFUSED 127.0.0.1:9092
- mysql - mysql生成EMI支付日期列表
- xml - 使用 XSLT 向 xml 值添加空格
- auth0 - 带有自定义登录页面的 Auth0 授权代码流
- swift - 一次 Swift 核心数据非常慢
- json - JSON 路径似乎正在删除一个逗号
- angular - 按需生成主题 Angular 8
- javascript - 在文本框中键入最后一个数字时,第一个数字进入