使用matlab在sprintf中打印“\”

时间:2012-10-13 06:20:09

标签: javascript string matlab printf

我要做的是在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字符串;有什么建议?

我尝试过使用\\"\\\"以及一些类似的组合,但都无济于事。

2 个答案:

答案 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.