1

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

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

4

2 回答 2

1

Matlab 使用参考 Kernighan、BW 和 DM Ritchie,C 编程语言作为其 sprintf 函数。根据参考资料, sprintf 的定义方式,它使用转义字符作为克服字符默认控制含义的一种方式。

尽管您要求不要建议这种组合,例如

\"

\\\"

这是一个可行的解决方案,您不必手动将 \" 替换为 \\" 并且代码会自行执行此操作。

a = "Here is a \"string\" example";
d = regexprep(a,"\"","\\\"");
sprintf(d);
于 2012-10-13T06:45:41.953 回答
0

尝试

sprintf('Here is a \\"string\\" example.') 

在我的机器上这个输出

Here is a \"string\" example. 
于 2012-10-13T08:51:32.253 回答