annotate doc/interpreter/strings.txi @ 8817:03b7f618ab3d

include docstrings for new functions in the manual
author John W. Eaton <jwe@octave.org>
date Thu, 19 Feb 2009 15:39:19 -0500
parents 502e58a0d44f
children 8463d1a2e544
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
1 @c Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005,
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
2 @c 2006, 2007 John W. Eaton
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
3 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
4 @c This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
5 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
6 @c Octave is free software; you can redistribute it and/or modify it
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
7 @c under the terms of the GNU General Public License as published by the
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
8 @c Free Software Foundation; either version 3 of the License, or (at
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
9 @c your option) any later version.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
10 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
11 @c Octave is distributed in the hope that it will be useful, but WITHOUT
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
12 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
13 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
14 @c for more details.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
15 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
16 @c You should have received a copy of the GNU General Public License
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
17 @c along with Octave; see the file COPYING. If not, see
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
18 @c <http://www.gnu.org/licenses/>.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
19
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
20 @node Strings
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21 @chapter Strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22 @cindex strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
23 @cindex character strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
24 @opindex "
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
25 @opindex '
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
27 A @dfn{string constant} consists of a sequence of characters enclosed in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
28 either double-quote or single-quote marks. For example, both of the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
29 following expressions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
31 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
32 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
33 "parrot"
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
34 'parrot'
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
35 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
36 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
37
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
38 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
39 represent the string whose contents are @samp{parrot}. Strings in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
40 Octave can be of any length.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
41
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
42 Since the single-quote mark is also used for the transpose operator
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
43 (@pxref{Arithmetic Ops}) but double-quote marks have no other purpose in Octave,
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
44 it is best to use double-quote marks to denote strings.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
45
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
46 Strings can be concatenated using the notation for defining matrices. For
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
47 example, the expression
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
48
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
49 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
50 [ "foo" , "bar" , "baz" ]
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
51 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
52
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
53 @noindent
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
54 produces the string whose contents are @samp{foobarbaz}. @xref{Numeric Data
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
55 Types}, for more information about creating matrices.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
56
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
57 @menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
58 * Escape Sequences in string constants::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
59 * Character Arrays::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
60 * Creating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
61 * Comparing Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
62 * Manipulating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
63 * String Conversions::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
64 * Character Class Functions::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
65 @end menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
66
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
67 @node Escape Sequences in string constants
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
68 @section Escape Sequences in string constants
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
69 @cindex escape sequence notation
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
70 In double-quoted strings, the backslash character is used to introduce
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
71 @dfn{escape sequences} that represent other characters. For example,
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
72 @samp{\n} embeds a newline character in a double-quoted string and
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
73 @samp{\"} embeds a double quote character. In single-quoted strings, backslash
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
74 is not a special character. Here is an example showing the difference:
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
75
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
76 @example
6556
8810bbf321ce [project @ 2007-04-20 18:39:40 by jwe]
jwe
parents: 6554
diff changeset
77 @group
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
78 toascii ("\n")
6570
49f0820425a8 [project @ 2007-04-24 23:06:56 by jwe]
jwe
parents: 6556
diff changeset
79 @result{} 10
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
80 toascii ('\n')
6570
49f0820425a8 [project @ 2007-04-24 23:06:56 by jwe]
jwe
parents: 6556
diff changeset
81 @result{} [ 92 110 ]
6556
8810bbf321ce [project @ 2007-04-20 18:39:40 by jwe]
jwe
parents: 6554
diff changeset
82 @end group
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
83 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
84
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
85 Here is a table of all the escape sequences used in Octave (within
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
86 double quoted strings). They are the same as those used in the C
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
87 programming language.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
88
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
89 @table @code
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
90 @item \\
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
91 Represents a literal backslash, @samp{\}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
92
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
93 @item \"
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
94 Represents a literal double-quote character, @samp{"}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
95
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
96 @item \'
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
97 Represents a literal single-quote character, @samp{'}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
98
3893
abd8659eea11 [project @ 2002-04-09 21:36:31 by jwe]
jwe
parents: 3428
diff changeset
99 @item \0
4946
48a39e2b2ab7 [project @ 2004-08-31 17:27:04 by jwe]
jwe
parents: 4535
diff changeset
100 Represents the ``nul'' character, control-@@, ASCII code 0.
3893
abd8659eea11 [project @ 2002-04-09 21:36:31 by jwe]
jwe
parents: 3428
diff changeset
101
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
102 @item \a
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
103 Represents the ``alert'' character, control-g, ASCII code 7.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
104
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
105 @item \b
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
106 Represents a backspace, control-h, ASCII code 8.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
107
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
108 @item \f
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
109 Represents a formfeed, control-l, ASCII code 12.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
110
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
111 @item \n
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
112 Represents a newline, control-j, ASCII code 10.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
113
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
114 @item \r
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
115 Represents a carriage return, control-m, ASCII code 13.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
116
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
117 @item \t
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
118 Represents a horizontal tab, control-i, ASCII code 9.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
119
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
120 @item \v
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
121 Represents a vertical tab, control-k, ASCII code 11.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
122
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
123 @c We don't do octal or hex this way yet.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
124 @c
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
125 @c @item \@var{nnn}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
126 @c Represents the octal value @var{nnn}, where @var{nnn} are one to three
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
127 @c digits between 0 and 7. For example, the code for the ASCII ESC
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
128 @c (escape) character is @samp{\033}.@refill
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
129 @c
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
130 @c @item \x@var{hh}@dots{}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
131 @c Represents the hexadecimal value @var{hh}, where @var{hh} are hexadecimal
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
132 @c digits (@samp{0} through @samp{9} and either @samp{A} through @samp{F} or
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
133 @c @samp{a} through @samp{f}). Like the same construct in @sc{ansi} C,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
134 @c the escape
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
135 @c sequence continues until the first non-hexadecimal digit is seen. However,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
136 @c using more than two hexadecimal digits produces undefined results. (The
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
137 @c @samp{\x} escape sequence is not allowed in @sc{posix} @code{awk}.)@refill
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
138 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
139
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
140 In a single-quoted string there is only one escape sequence: you may insert a
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
141 single quote character using two single quote characters in succession. For
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
142 example,
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
143
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
144 @example
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
145 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
146 'I can''t escape'
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
147 @result{} I can't escape
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
148 @end group
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
149 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
150
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
151
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
152 @node Character Arrays
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
153 @section Character Arrays
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
154
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
155 The string representation used by Octave is an array of characters, so
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
156 internally the string "dddddddddd" is actually a row vector of length 10
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
157 containing the value 100 in all places (100 is the ASCII code of "d"). This
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
158 lends itself to the obvious generalisation to character matrices. Using a
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
159 matrix of characters, it is possible to represent a collection of same-length
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
160 strings in one variable. The convention used in Octave is that each row in a
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
161 character matrix is a separate string, but letting each column represent a
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
162 string is equally possible.
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
163
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
164 The easiest way to create a character matrix is to put several strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
165 together into a matrix.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
166
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
167 @example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
168 collection = [ "String #1"; "String #2" ];
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
169 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
170
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
171 @noindent
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
172 This creates a 2-by-9 character matrix.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
173
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
174 The function @code{ischar} can be used to test if an object is a character
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
175 matrix.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
176
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
177 @DOCSTRING(ischar)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
178
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
179 To test if an object is a string (i.e., a character vector and not a character
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
180 matrix) you can use the @code{ischar} function in combination with the
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
181 @code{isvector} function as in the following example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
182
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
183 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
184 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
185 ischar(collection)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
186 @result{} ans = 1
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8372
diff changeset
187
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
188 ischar(collection) && isvector(collection)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
189 @result{} ans = 0
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8372
diff changeset
190
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
191 ischar("my string") && isvector("my string")
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
192 @result{} ans = 1
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
193 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
194 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
195
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
196 One relevant question is, what happens when a character matrix is
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
197 created from strings of different length. The answer is that Octave
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
198 puts blank characters at the end of strings shorter than the longest
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
199 string. It is possible to use a different character than the
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
200 blank character using the @code{string_fill_char} function.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
201
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
202 @DOCSTRING(string_fill_char)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
203
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
204 This shows a problem with character matrices. It simply isn't possible to
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
205 represent strings of different lengths. The solution is to use a cell array of
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
206 strings, which is described in @ref{Cell Arrays of Strings}.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
207
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
208 @node Creating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
209 @section Creating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
210
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
211 The easiest way to create a string is, as illustrated in the introduction,
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
212 to enclose a text in double-quotes or single-quotes. It is however
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
213 possible to create a string without actually writing a text. The
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
214 function @code{blanks} creates a string of a given length consisting
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
215 only of blank characters (ASCII code 32).
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
216
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
217 @DOCSTRING(blanks)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
218
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
219 @menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
220 * Concatenating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
221 * Conversion of Numerical Data to Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
222 @end menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
223
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
224 @node Concatenating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
225 @subsection Concatenating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
226
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
227 It has been shown above that strings can be concatenated using matrix notation
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
228 (@pxref{Strings}, @ref{Character Arrays}). Apart from that, there are several
8372
8dff9cba15fe move str2mat to deprecated and make it a simple wrapper around char
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8351
diff changeset
229 functions to concatenate string objects: @code{char},
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
230 @code{strvcat}, @code{strcat} and @code{cstrcat}. In addition, the general
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
231 purpose concatenation functions can be used: see @ref{doc-cat,,cat},
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
232 @ref{doc-horzcat,,horzcat} and @ref{doc-vertcat,,vertcat}.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
233
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
234 @itemize @bullet
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
235 @item All string concatenation functions except @code{cstrcat}
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
236 convert numerical input into character data by taking the corresponding ASCII
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
237 character for each element, as in the following example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
238
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
239 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
240 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
241 char([98, 97, 110, 97, 110, 97])
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
242 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
243 banana
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
244 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
245 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
246
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
247 @item
8372
8dff9cba15fe move str2mat to deprecated and make it a simple wrapper around char
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8351
diff changeset
248 @code{char} and @code{strvcat}
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
249 concatenate vertically, while @code{strcat} and @code{cstrcat} concatenate
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
250 horizontally. For example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
251
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
252 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
253 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
254 char("an apple", "two pears")
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
255 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
256 an apple
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
257 two pears
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
258 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
259
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
260 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
261 strcat("oc", "tave", " is", " good", " for you")
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
262 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
263 octave is good for you
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
264 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
265 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
266
8372
8dff9cba15fe move str2mat to deprecated and make it a simple wrapper around char
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8351
diff changeset
267 @item @code{char} generates an empty row in the output
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
268 for each empty string in the input. @code{strvcat}, on the other hand,
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
269 eliminates empty strings.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
270
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
271 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
272 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
273 char("orange", "green", "", "red")
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
274 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
275 orange
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
276 green
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
277
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
278 red
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
279 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
280
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
281 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
282 strvcat("orange", "green", "", "red")
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
283 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
284 orange
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
285 green
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
286 red
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
287 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
288 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
289
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
290 @item All string concatenation functions except @code{cstrcat} also accept cell
8372
8dff9cba15fe move str2mat to deprecated and make it a simple wrapper around char
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8351
diff changeset
291 array data (@pxref{Cell Arrays}). @code{char} and
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
292 @code{strvcat} convert cell arrays into character arrays, while @code{strcat}
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
293 concatenates within the cells of the cell arrays:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
294
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
295 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
296 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
297 char(@{"red", "green", "", "blue"@})
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
298 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
299 red
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
300 green
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
301
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
302 blue
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
303 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
304
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
305 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
306 strcat(@{"abc"; "ghi"@}, @{"def"; "jkl"@})
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
307 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
308 @{
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
309 [1,1] = abcdef
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
310 [2,1] = ghijkl
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
311 @}
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
312 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
313 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
314
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
315 @item @code{strcat} removes trailing white space in the arguments (except
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
316 within cell arrays), while @code{cstrcat} leaves white space untouched. Both
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
317 kinds of behaviour can be useful as can be seen in the examples:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
318
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
319 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
320 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
321 strcat(["dir1";"directory2"], ["/";"/"], ["file1";"file2"])
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
322 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
323 dir1/file1
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
324 directory2/file2
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
325 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
326 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
327
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
328 cstrcat(["thirteen apples"; "a banana"], [" 5$";" 1$"])
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
329 @result{} ans =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
330 thirteen apples 5$
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
331 a banana 1$
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
332 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
333 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
334
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
335 Note that in the above example for @code{cstrcat}, the white space originates
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
336 from the internal representation of the strings in a string array
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
337 (@pxref{Character Arrays}).
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
338 @end itemize
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
339
4358
83d4452bc522 [project @ 2003-02-23 02:16:53 by jwe]
jwe
parents: 4167
diff changeset
340 @DOCSTRING(char)
83d4452bc522 [project @ 2003-02-23 02:16:53 by jwe]
jwe
parents: 4167
diff changeset
341
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
342 @DOCSTRING(strvcat)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
343
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
344 @DOCSTRING(strcat)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
345
8286
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 7984
diff changeset
346 @DOCSTRING(cstrcat)
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 7984
diff changeset
347
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
348 @node Conversion of Numerical Data to Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
349 @subsection Conversion of Numerical Data to Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
350 Apart from the string concatenation functions (@pxref{Concatenating Strings})
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
351 which cast numerical data to the corresponding ASCII characters, there are
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
352 several functions that format numerical data as strings. @code{mat2str} and
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
353 @code{num2str} convert real or complex matrices, while @code{int2str} converts
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
354 integer matrices. @code{int2str} takes the real part of complex values and
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
355 round fractional values to integer. A more flexible way to format numerical
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
356 data as strings is the @code{sprintf} function (@pxref{Formatted Output},
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
357 @ref{doc-sprintf}).
4535
a5f23212a3d8 [project @ 2003-10-16 02:39:15 by jwe]
jwe
parents: 4452
diff changeset
358
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
359 @DOCSTRING(mat2str)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
360
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
361 @DOCSTRING(num2str)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
362
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
363 @DOCSTRING(int2str)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
364
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
365 @node Comparing Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
366 @section Comparing Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
367
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
368 Since a string is a character array comparison between strings works
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
369 element by element as the following example shows.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
370
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
371 @example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
372 GNU = "GNU's Not UNIX";
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
373 spaces = (GNU == " ")
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
374 @result{} spaces =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
375 0 0 0 0 0 1 0 0 0 1 0 0 0 0
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
376 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
377
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
378 @noindent To determine if two strings are identical it is necessary to use the
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
379 @code{strcmp} function. It compares complete strings and is case
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
380 sensistive. @code{strncmp} compares only the first @code{N} characters (with
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
381 @code{N} given as a parameter). @code{strcmpi} and @code{strncmpi} are the
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
382 corresponding functions for case-insensitive comparison.
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
383
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
384 @DOCSTRING(strcmp)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
385
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
386 @DOCSTRING(strncmp)
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
387
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
388 @DOCSTRING(strcmpi)
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
389
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
390 @DOCSTRING(strncmpi)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
391
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
392 @DOCSTRING(validatestring)
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
393
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
394 @node Manipulating Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
395 @section Manipulating Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
396
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
397 Octave supports a wide range of functions for manipulating strings.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
398 Since a string is just a matrix, simple manipulations can be accomplished
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
399 using standard operators. The following example shows how to replace
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
400 all blank characters with underscores.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
401
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
402 @example
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7031
diff changeset
403 quote = ...
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7031
diff changeset
404 "First things first, but not necessarily in that order";
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
405 quote( quote == " " ) = "_"
7081
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7031
diff changeset
406 @result{} quote =
503001863427 [project @ 2007-10-31 01:08:14 by jwe]
jwe
parents: 7031
diff changeset
407 First_things_first,_but_not_necessarily_in_that_order
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
408 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
409
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
410 For more complex manipulations, such as searching, replacing, and
7001
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6778
diff changeset
411 general regular expressions, the following functions come with Octave.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
412
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
413 @DOCSTRING(deblank)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
414
8817
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
415 @DOCSTRING(strtrim)
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
416
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
417 @DOCSTRING(strtrunc)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
418
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
419 @DOCSTRING(findstr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
420
8817
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
421 @DOCSTRING(strchr)
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
422
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
423 @DOCSTRING(index)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
424
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
425 @DOCSTRING(rindex)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
426
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
427 @DOCSTRING(strfind)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
428
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
429 @DOCSTRING(strmatch)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
430
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
431 @DOCSTRING(strtok)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
432
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
433 @DOCSTRING(split)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
434
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
435 @DOCSTRING(strrep)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
436
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
437 @DOCSTRING(substr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
438
5582
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
439 @DOCSTRING(regexp)
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
440
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
441 @DOCSTRING(regexpi)
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
442
6549
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
443 @DOCSTRING(regexprep)
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
444
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
445 @DOCSTRING(regexptranslate)
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
446
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
447 @node String Conversions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
448 @section String Conversions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
449
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
450 Octave supports various kinds of conversions between strings and
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
451 numbers. As an example, it is possible to convert a string containing
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
452 a hexadecimal number to a floating point number.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
453
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
454 @example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
455 hex2dec ("FF")
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
456 @result{} ans = 255
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
457 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
458
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
459 @DOCSTRING(bin2dec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
460
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
461 @DOCSTRING(dec2bin)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
462
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
463 @DOCSTRING(dec2hex)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
464
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
465 @DOCSTRING(hex2dec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
466
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
467 @DOCSTRING(dec2base)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
468
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
469 @DOCSTRING(base2dec)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
470
7639
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
471 @DOCSTRING(num2hex)
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
472
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
473 @DOCSTRING(hex2num)
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
474
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
475 @DOCSTRING(str2double)
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
476
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
477 @DOCSTRING(strjust)
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
478
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
479 @DOCSTRING(str2num)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
480
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
481 @DOCSTRING(toascii)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
482
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
483 @DOCSTRING(tolower)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
484
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
485 @DOCSTRING(toupper)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
486
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3402
diff changeset
487 @DOCSTRING(do_string_escapes)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3402
diff changeset
488
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
489 @DOCSTRING(undo_string_escapes)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
490
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
491 @node Character Class Functions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
492 @section Character Class Functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
493
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
494 Octave also provides the following character class test functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
495 patterned after the functions in the standard C library. They all
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
496 operate on string arrays and return matrices of zeros and ones.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
497 Elements that are nonzero indicate that the condition was true for the
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
498 corresponding character in the string array. For example,
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
499
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
500 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
501 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
502 isalpha ("!Q@@WERT^Y&")
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
503 @result{} [ 0, 1, 0, 1, 1, 1, 1, 0, 1, 0 ]
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
504 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
505 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
506
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
507 @DOCSTRING(isalnum)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
508
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
509 @DOCSTRING(isalpha)
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
510
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
511 @DOCSTRING(isascii)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
512
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
513 @DOCSTRING(iscntrl)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
514
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
515 @DOCSTRING(isdigit)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
516
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
517 @DOCSTRING(isgraph)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
518
6549
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
519 @DOCSTRING(isletter)
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
520
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
521 @DOCSTRING(islower)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
522
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
523 @DOCSTRING(isprint)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
524
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
525 @DOCSTRING(ispunct)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
526
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
527 @DOCSTRING(isspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
528
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
529 @DOCSTRING(isupper)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
530
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
531 @DOCSTRING(isxdigit)
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
532
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
533 @DOCSTRING(isstrprop)