5.1 字符串常量中的转义序列

在双引号字符串中,反斜杠字符用于引入表示其他字符的转义序列。例如,\n 在双引号字符串中嵌入一个换行符,\" 嵌入一个双引号字符。在单引号字符串中,反斜杠不是特殊字符。以下示例展示了二者的区别:

double ("\n")
    ⇒   10
double ('\n')
    ⇒   [ 92 110 ]

以下是 Octave 中使用的所有转义序列的表格(在双引号字符串内)。它们与 C 编程语言中使用的转义序列相同。

\\

表示一个文字反斜杠,即 \

\"

表示一个文字双引号字符,即 "

\'

表示一个文字单引号字符,即 '

\0

表示空字符(null character),即 control-@,ASCII 码 0。

\a

表示"警报"(alert)字符,即 control-g,ASCII 码 7。

\b

表示退格符(backspace),即 control-h,ASCII 码 8。

\f

表示换页符(formfeed),即 control-l,ASCII 码 12。

\n

表示换行符(newline),即 control-j,ASCII 码 10。

\r

表示回车符(carriage return),即 control-m,ASCII 码 13。

\t

表示水平制表符(horizontal tab),即 control-i,ASCII 码 9。

\v

表示垂直制表符(vertical tab),即 control-k,ASCII 码 11。

\nnn

表示八进制值 nnn,其中 nnn 是 0 到 7 之间的一至三位数字。例如,ASCII ESC(转义)字符的代码是 \033

\xhh

表示十六进制值 hh,其中 hh 是十六进制数字(09,以及 AFaf)。与 ANSI C 中相同的构造一样,转义序列会一直持续到遇到第一个非十六进制数字为止。然而,使用超过两个十六进制数字会产生未定义的结果。

在单引号字符串中,只有一个转义序列:您可以通过连续使用两个单引号字符来插入一个单引号字符。例如,

'I can''t escape'
    ⇒   I can't escape

在脚本中,如有必要,可以使用 is_dq_stringis_sq_string 来区分这两种不同的字符串类型。

 
tf = is_dq_string (x)

如果 x 是双引号字符串,则返回 true。

另请参阅: is_sq_stringischar

 
tf = is_sq_string (x)

如果 x 是单引号字符串,则返回 true。

另请参阅: is_dq_stringischar


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2