如何在R语言中将斜杠/替换为转义斜杠\/?
R语言HTML转JSON的斜杠转义问题及解决方案
我需要用R语言编写代码将HTML文件解析为JSON格式,用于REST调用。找不到符合需求的解析器,便决定自行实现,但始终无法将"/"转换为"\/"。例如要将以下字符串:
s = "https://test.app.net/pixel"
转换为:
"https:\/\/test.app.net\/pixel"
我尝试了以下代码:
s = gsub("/","\\/",s) s = gsub("/","\\\\/",s) s = gsub("/","\/",s,fixed = TRUE)
但结果要么原字符串毫无变化,要么出现双反斜杠,而非预期的单个反斜杠。
问题解决与后续发现
查看@MrFlick的回复后,我用以下代码解决了斜杠转义问题:
html = gsub("/","sa\\\\/",html) html = gsub("sa\\\\",'\\\\',html)
这段代码能达到预期效果,原因是R会对字符串进行两次解析,但正确结果只能通过cat()查看。
不过在花费大量时间手动实现HTML转JSON后,我发现直接正确使用toJson()函数就能完全满足最初的需求,根本不需要手动处理转义。
内容的提问来源于stack exchange,提问作者rrodrigues
相关产品推荐
相关产品推荐

