我要做的是在Matlab中编写一个脚本来解析一些HTML,从中获取一些数据,获取这些数据,然后将其格式化为Javascript字符串数组。我没有抓住HTML并解析它等问题,我在尝试使用包含反斜杠的sprintf
打印字符串时遇到问题。
基本上如果你在Javascript中有一个包含引号的字符串,你需要用反斜杠转义它:
var string1 = "Here is a \"string\" example";
当我尝试在Matlab中按如下方式执行此操作时,它无法正确打印:
>> A = sprintf('Here is a \"string\" example')
A =
Here is a "string" example
这不是有效的Javascript字符串。所以基本上我希望sprintf
返回一个合适的Javascript字符串;有什么建议?
我尝试过使用\\"
和\\\"
以及一些类似的组合,但都无济于事。
答案 0 :(得分:1)
Matlab使用参考文献Kernighan,B.W。和D. M. Ritchie,C语言编程语言的sprintf函数。根据引用,sprintf的定义方式,它使用转义字符作为克服字符默认控制含义的一种方法。
虽然您要求不建议像
这样的组合\"
\\\"
这是一个可行的解决方案,您无需手动替换\“和\\”,代码就会自行执行此操作。
a = "Here is a \"string\" example";
d = regexprep(a,"\"","\\\"");
sprintf(d);
答案 1 :(得分:0)
尝试
sprintf('Here is a \\"string\\" example.')
在我的机器上输出
Here is a \"string\" example.