Next: Character Arrays, Up: Strings [Contents][Index]

### 5.1 Escape Sequences in String Constants

In double-quoted strings, the backslash character is used to introduce escape sequences that represent other characters. For example, ‘`\n`’ embeds a newline character in a double-quoted string and ‘`\"`’ embeds a double quote character. In single-quoted strings, backslash is not a special character. Here is an example showing the difference:

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

Here is a table of all the escape sequences used in Octave (within double quoted strings). They are the same as those used in the C programming language.

`\\`

  Represents a literal backslash, ‘`\`’.

`\"`

  Represents a literal double-quote character, ‘`"`’.

`\'`

  Represents a literal single-quote character, ‘`'`’.

`\0`

  Represents the null character, control-@, ASCII code 0.

`\a`

  Represents the “alert” character, control-g, ASCII code 7.

`\b`

  Represents a backspace, control-h, ASCII code 8.

`\f`

  Represents a formfeed, control-l, ASCII code 12.

`\n`

  Represents a newline, control-j, ASCII code 10.

`\r`

  Represents a carriage return, control-m, ASCII code 13.

`\t`

  Represents a horizontal tab, control-i, ASCII code 9.

`\v`

  Represents a vertical tab, control-k, ASCII code 11.

`\nnn`

  Represents the octal value nnn, where nnn are one to three digits between 0 and 7. For example, the code for the ASCII ESC (escape) character is ‘`\033`’.

`\xhh…`

  Represents the hexadecimal value hh, where hh are hexadecimal digits (‘`0`’ through ‘`9`’ and either ‘`A`’ through ‘`F`’ or ‘`a`’ through ‘`f`’). Like the same construct in ANSI C, the escape sequence continues until the first non-hexadecimal digit is seen. However, using more than two hexadecimal digits produces undefined results.

In a single-quoted string there is only one escape sequence: you may insert a single quote character using two single quote characters in succession. For example,

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

In scripts the two different string types can be distinguished if necessary by using `is_dq_string` and `is_sq_string`.

: is_dq_string (x) ¶

  Return true if x is a double-quoted character string.

  See also: is_sq_string, ischar.

: is_sq_string (x) ¶

  Return true if x is a single-quoted character string.

  See also: is_dq_string, ischar.

Next: Character Arrays, Up: Strings [Contents][Index]