>> fprintf('How about single quote('')?\n')
How about single quote(')?
输出与以下内容相同:
>> fprintf("How about single quote(\')?\n")
How about single quote(')?
更一般的理解 (转义字符由反斜杠'\'和一个字符(例如'n')组成)
那么,是否可以通过单引号(')来更改反斜杠('\')以表示MATLAB中的转义符?
答案 0 :(得分:5)
Matlab有char vectors and strings。它们是不同的数据类型。字符向量用单引号('
)括起来:
disp('This is a char vector')
而字符串使用双倍("
):
disp("Hey, I am a string")
要在char向量中引入单引号,或在字符串中引入双引号,请复制:
disp('Hey, what''s up?')
disp("Say ""Hi""")
在char向量中引入双引号或在字符串中引入单引号没有问题:
disp('She said "yes"')
disp("What's the matter?")
当字符向量或字符串用作fprintf
的参数时,所有这些通常都适用。此外,Matlab的fprintf
和sprintf
显然是 1 将\'
理解为'
和{{1}的同义词}与\"
的同义词;但是复制规则仍然适用。 2 因此它们是等效的:
"
这些是
fprintf('I don''t like strings\n')
fprintf('I don\''t like strings\n')
在fprintf("""Inconceivable!"", he retorted\n")
fprintf("\""Inconceivable!\"", he retorted\n")
或fprintf
之外,sprintf
和\'
没有那些特殊的含义。试试
\"
1
我没有找到此文档。
2
原因可能是模仿C's fprintf
behaviour;但请注意,此处无需重复。