annotate doc/interpreter/strings.txi @ 14528:c67822beb7a4

maint: Backed out changeset 8c988dabbe8e
author Rik <octave@nomad.inbox5.com>
date Thu, 05 Apr 2012 11:55:47 -0700
parents 8c988dabbe8e
children b1ea3813e37d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 13943
diff changeset
1 @c Copyright (C) 1996-2012 John W. Eaton
7018
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
2 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
3 @c This file is part of Octave.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
4 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
5 @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
6 @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
7 @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
8 @c your option) any later version.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
9 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
10 @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
11 @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
12 @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
13 @c for more details.
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
14 @c
fd42779a8428 [project @ 2007-10-13 00:52:12 by jwe]
jwe
parents: 7001
diff changeset
15 @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
16 @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
17 @c <http://www.gnu.org/licenses/>.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
18
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
19 @node Strings
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
20 @chapter Strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
21 @cindex strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
22 @cindex character strings
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
23 @opindex "
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
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
26 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
27 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
28 following expressions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
29
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
30 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
31 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
32 "parrot"
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 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
35 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
36
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
37 @noindent
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
38 represent the string whose contents are @samp{parrot}. Strings in
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
39 Octave can be of any length.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
40
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
41 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
42 (@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
43 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
44
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
45 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
46 example, the expression
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
47
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
48 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
49 [ "foo" , "bar" , "baz" ]
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
50 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
51
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
52 @noindent
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
53 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
54 Types}, for more information about creating matrices.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
55
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
56 @menu
11255
d682cd6669ac Update info-based documentation menus to include new nodes.
Rik <octave@nomad.inbox5.com>
parents: 11143
diff changeset
57 * Escape Sequences in String Constants::
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
58 * Character Arrays::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
59 * Creating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
60 * Comparing Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
61 * Manipulating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
62 * String Conversions::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
63 * Character Class Functions::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
64 @end menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
65
11257
8d4c57258523 fix some menu problems in the manual
John W. Eaton <jwe@octave.org>
parents: 11255
diff changeset
66 @node Escape Sequences in String Constants
8d4c57258523 fix some menu problems in the manual
John W. Eaton <jwe@octave.org>
parents: 11255
diff changeset
67 @section Escape Sequences in String Constants
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
68 @cindex escape sequence notation
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
69 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
70 @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
71 @samp{\n} embeds a newline character in a double-quoted string and
14528
c67822beb7a4 maint: Backed out changeset 8c988dabbe8e
Rik <octave@nomad.inbox5.com>
parents: 14527
diff changeset
72 @samp{\"} embeds a double quote character. In single-quoted strings, backslash
c67822beb7a4 maint: Backed out changeset 8c988dabbe8e
Rik <octave@nomad.inbox5.com>
parents: 14527
diff changeset
73 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
74
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
75 @example
6556
8810bbf321ce [project @ 2007-04-20 18:39:40 by jwe]
jwe
parents: 6554
diff changeset
76 @group
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
77 toascii ("\n")
6570
49f0820425a8 [project @ 2007-04-24 23:06:56 by jwe]
jwe
parents: 6556
diff changeset
78 @result{} 10
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
79 toascii ('\n')
6570
49f0820425a8 [project @ 2007-04-24 23:06:56 by jwe]
jwe
parents: 6556
diff changeset
80 @result{} [ 92 110 ]
6556
8810bbf321ce [project @ 2007-04-20 18:39:40 by jwe]
jwe
parents: 6554
diff changeset
81 @end group
6554
5dde4dc2bcaf [project @ 2007-04-20 17:16:50 by jwe]
jwe
parents: 6549
diff changeset
82 @end example
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
83
14528
c67822beb7a4 maint: Backed out changeset 8c988dabbe8e
Rik <octave@nomad.inbox5.com>
parents: 14527
diff changeset
84 Here is a table of all the escape sequences used in Octave (within
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
85 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
86 programming language.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
87
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
88 @table @code
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
89 @item \\
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
90 Represents a literal backslash, @samp{\}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
91
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
92 @item \"
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
93 Represents a literal double-quote character, @samp{"}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
94
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
95 @item \'
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
96 Represents a literal single-quote character, @samp{'}.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
97
3893
abd8659eea11 [project @ 2002-04-09 21:36:31 by jwe]
jwe
parents: 3428
diff changeset
98 @item \0
4946
48a39e2b2ab7 [project @ 2004-08-31 17:27:04 by jwe]
jwe
parents: 4535
diff changeset
99 Represents the ``nul'' character, control-@@, ASCII code 0.
3893
abd8659eea11 [project @ 2002-04-09 21:36:31 by jwe]
jwe
parents: 3428
diff changeset
100
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
101 @item \a
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
102 Represents the ``alert'' character, control-g, ASCII code 7.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
103
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
104 @item \b
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
105 Represents a backspace, control-h, ASCII code 8.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
106
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
107 @item \f
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
108 Represents a formfeed, control-l, ASCII code 12.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
109
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
110 @item \n
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
111 Represents a newline, control-j, ASCII code 10.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
112
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
113 @item \r
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
114 Represents a carriage return, control-m, ASCII code 13.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
115
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
116 @item \t
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
117 Represents a horizontal tab, control-i, ASCII code 9.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
118
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
119 @item \v
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
120 Represents a vertical tab, control-k, ASCII code 11.
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
121
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
122 @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
123 @c
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
124 @c @item \@var{nnn}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
125 @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
126 @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
127 @c (escape) character is @samp{\033}.@refill
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
128 @c
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
129 @c @item \x@var{hh}@dots{}
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
130 @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
131 @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
132 @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
133 @c the escape
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
134 @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
135 @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
136 @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
137 @end table
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
138
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
139 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
140 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
141 example,
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
142
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
143 @example
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
144 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
145 'I can''t escape'
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
146 @result{} I can't escape
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
147 @end group
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
148 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
149
14528
c67822beb7a4 maint: Backed out changeset 8c988dabbe8e
Rik <octave@nomad.inbox5.com>
parents: 14527
diff changeset
150 In scripts the two different string types can be distinguished if necessary
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents: 12581
diff changeset
151 by using @code{is_dq_string} and @code{is_sq_string}.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents: 12581
diff changeset
152
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents: 12581
diff changeset
153 @DOCSTRING(is_dq_string)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents: 12581
diff changeset
154
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents: 12581
diff changeset
155 @DOCSTRING(is_sq_string)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
156
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
157 @node Character Arrays
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
158 @section Character Arrays
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
159
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
160 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
161 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
162 containing the value 100 in all places (100 is the ASCII code of "d"). This
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
163 lends itself to the obvious generalization to character matrices. Using a
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
164 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
165 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
166 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
167 string is equally possible.
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
168
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
169 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
170 together into a matrix.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
171
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
172 @example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
173 collection = [ "String #1"; "String #2" ];
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
174 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
175
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
176 @noindent
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
177 This creates a 2-by-9 character matrix.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
178
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
179 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
180 matrix.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
181
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
182 @DOCSTRING(ischar)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
183
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
184 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
185 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
186 @code{isvector} function as in the following example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
187
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
188 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
189 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
190 ischar (collection)
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
191 @result{} 1
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8372
diff changeset
192
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
193 ischar (collection) && isvector (collection)
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
194 @result{} 0
8442
502e58a0d44f Fix docstrings, add examples, references and tests to string functions
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8372
diff changeset
195
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
196 ischar ("my string") && isvector ("my string")
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
197 @result{} 1
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
198 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
199 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
200
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
201 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
202 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
203 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
204 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
205 blank character using the @code{string_fill_char} function.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
206
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
207 @DOCSTRING(string_fill_char)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
208
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
209 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
210 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
211 strings, which is described in @ref{Cell Arrays of Strings}.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
212
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
213 @node Creating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
214 @section Creating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
215
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
216 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
217 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
218 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
219 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
220 only of blank characters (ASCII code 32).
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
221
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
222 @DOCSTRING(blanks)
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 @menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
225 * Concatenating Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
226 * Conversion of Numerical Data to Strings::
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
227 @end menu
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
228
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
229 @node Concatenating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
230 @subsection Concatenating Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
231
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
232 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
233 (@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
234 functions to concatenate string objects: @code{char},
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
235 @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
236 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
237 @ref{doc-horzcat,,horzcat} and @ref{doc-vertcat,,vertcat}.
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 @itemize @bullet
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
240 @item All string concatenation functions except @code{cstrcat}
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
241 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
242 character for each element, as in the following example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
243
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
244 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
245 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
246 char ([98, 97, 110, 97, 110, 97])
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
247 @result{} banana
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
248 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
249 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
250
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
251 @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
252 @code{char} and @code{strvcat}
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
253 concatenate vertically, while @code{strcat} and @code{cstrcat} concatenate
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
254 horizontally. For example:
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
255
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
256 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
257 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
258 char ("an apple", "two pears")
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
259 @result{} an apple
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
260 two pears
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
261 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
262
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
263 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
264 strcat ("oc", "tave", " is", " good", " for you")
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
265 @result{} octave is good for you
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
266 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
267 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
268
8372
8dff9cba15fe move str2mat to deprecated and make it a simple wrapper around char
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8351
diff changeset
269 @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
270 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
271 eliminates empty strings.
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
272
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
273 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
274 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
275 char ("orange", "green", "", "red")
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
276 @result{} orange
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
277 green
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
278
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
279 red
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
280 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
281
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
282 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
283 strvcat ("orange", "green", "", "red")
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
284 @result{} orange
8351
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
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
297 char (@{"red", "green", "", "blue"@})
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
298 @result{} red
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
299 green
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
300
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
301 blue
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
302 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
303
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
304 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
305 strcat (@{"abc"; "ghi"@}, @{"def"; "jkl"@})
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
306 @result{}
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
307 @{
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
308 [1,1] = abcdef
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
309 [2,1] = ghijkl
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
310 @}
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
311 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
312 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
313
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
314 @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
315 within cell arrays), while @code{cstrcat} leaves white space untouched. Both
9036
58604c45ca74 Cleanup of data types related documentation
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
316 kinds of behavior can be useful as can be seen in the examples:
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
317
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
318 @example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
319 @group
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
320 strcat (["dir1";"directory2"], ["/";"/"], ["file1";"file2"])
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
321 @result{} dir1/file1
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
322 directory2/file2
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
323 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
324 @group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
325
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
326 cstrcat (["thirteen apples"; "a banana"], [" 5$";" 1$"])
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
327 @result{} thirteen apples 5$
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
328 a banana 1$
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
329 @end group
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
330 @end example
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
331
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
332 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
333 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
334 (@pxref{Character Arrays}).
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
335 @end itemize
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
336
4358
83d4452bc522 [project @ 2003-02-23 02:16:53 by jwe]
jwe
parents: 4167
diff changeset
337 @DOCSTRING(char)
83d4452bc522 [project @ 2003-02-23 02:16:53 by jwe]
jwe
parents: 4167
diff changeset
338
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
339 @DOCSTRING(strvcat)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
340
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
341 @DOCSTRING(strcat)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
342
8286
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 7984
diff changeset
343 @DOCSTRING(cstrcat)
6f2d95255911 fix @seealso references to point to existing anchors
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 7984
diff changeset
344
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
345 @node Conversion of Numerical Data to Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
346 @subsection Conversion of Numerical Data to Strings
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
347 Apart from the string concatenation functions (@pxref{Concatenating Strings})
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
348 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
349 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
350 @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
351 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
352 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
353 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
354 @ref{doc-sprintf}).
4535
a5f23212a3d8 [project @ 2003-10-16 02:39:15 by jwe]
jwe
parents: 4452
diff changeset
355
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
356 @DOCSTRING(mat2str)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
357
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
358 @DOCSTRING(num2str)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
359
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
360 @DOCSTRING(int2str)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
361
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
362 @node Comparing Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
363 @section Comparing Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
364
8828
8463d1a2e544 Doc fixes.
Brian Gough <bjg@network-theory.co.uk>
parents: 8817
diff changeset
365 Since a string is a character array, comparisons between strings work
8463d1a2e544 Doc fixes.
Brian Gough <bjg@network-theory.co.uk>
parents: 8817
diff changeset
366 element by element as the following example shows:
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
367
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
368 @example
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
369 @group
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
370 GNU = "GNU's Not UNIX";
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
371 spaces = (GNU == " ")
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
372 @result{} spaces =
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
373 0 0 0 0 0 1 0 0 0 1 0 0 0 0
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
374 @end group
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
375 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
376
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
377 @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
378 @code{strcmp} function. It compares complete strings and is case
9036
58604c45ca74 Cleanup of data types related documentation
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
379 sensitive. @code{strncmp} compares only the first @code{N} characters (with
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
380 @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
381 corresponding functions for case-insensitive comparison.
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
382
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
383 @DOCSTRING(strcmp)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
384
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
385 @DOCSTRING(strncmp)
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
386
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
387 @DOCSTRING(strcmpi)
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
388
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
389 @DOCSTRING(strncmpi)
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
390
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
391 @DOCSTRING(validatestring)
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
392
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
393 @node Manipulating Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
394 @section Manipulating Strings
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
395
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
396 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
397 Since a string is just a matrix, simple manipulations can be accomplished
9036
58604c45ca74 Cleanup of data types related documentation
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
398 using standard operators. The following example shows how to replace
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
399 all blank characters with underscores.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
400
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
401 @example
9036
58604c45ca74 Cleanup of data types related documentation
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
402 @group
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
403 quote = ...
7081
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
9036
58604c45ca74 Cleanup of data types related documentation
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
408 @end group
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
409 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
410
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
411 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
412 general regular expressions, the following functions come with Octave.
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
413
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
414 @DOCSTRING(deblank)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
415
8817
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
416 @DOCSTRING(strtrim)
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
417
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
418 @DOCSTRING(strtrunc)
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
419
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
420 @DOCSTRING(findstr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
421
8817
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
422 @DOCSTRING(strchr)
03b7f618ab3d include docstrings for new functions in the manual
John W. Eaton <jwe@octave.org>
parents: 8442
diff changeset
423
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
424 @DOCSTRING(index)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
425
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
426 @DOCSTRING(rindex)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
427
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
428 @DOCSTRING(strfind)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
429
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
430 @DOCSTRING(strmatch)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
431
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
432 @DOCSTRING(strtok)
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
433
8879
1beaaffb3c1f document strsplit, not split
John W. Eaton <jwe@octave.org>
parents: 8828
diff changeset
434 @DOCSTRING(strsplit)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
435
11143
195cffc2d0a3 strings.txi: @DOCSTRING additions.
Ben Abbott <bpabbott@mac.com>
parents: 11103
diff changeset
436 @DOCSTRING(strread)
195cffc2d0a3 strings.txi: @DOCSTRING additions.
Ben Abbott <bpabbott@mac.com>
parents: 11103
diff changeset
437
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
438 @DOCSTRING(strrep)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
439
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
440 @DOCSTRING(substr)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
441
5582
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
442 @DOCSTRING(regexp)
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
443
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
444 @DOCSTRING(regexpi)
6bf56668b01a [project @ 2005-12-15 01:08:20 by jwe]
jwe
parents: 4946
diff changeset
445
6549
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
446 @DOCSTRING(regexprep)
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
447
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
448 @DOCSTRING(regexptranslate)
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
449
11103
d4fc294a19e4 include untabify docstring in the manual
John W. Eaton <jwe@octave.org>
parents: 10828
diff changeset
450 @DOCSTRING(untabify)
d4fc294a19e4 include untabify docstring in the manual
John W. Eaton <jwe@octave.org>
parents: 10828
diff changeset
451
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
452 @node String Conversions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
453 @section String Conversions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
454
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
455 Octave supports various kinds of conversions between strings and
8351
4d78baf20ded improve string documentation
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 8347
diff changeset
456 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
457 a hexadecimal number to a floating point number.
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
458
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
459 @example
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
460 @group
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
461 hex2dec ("FF")
14402
cbcaf5602469 doc: Make spacing nicer for Strings chapter of manual.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
462 @result{} 255
9209
923c7cb7f13f Simplify TeXinfo files by eliminating redundant @iftex followed by @tex construction.
Rik <rdrider0-list@yahoo.com>
parents: 9036
diff changeset
463 @end group
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
464 @end example
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
465
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
466 @DOCSTRING(bin2dec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
467
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
468 @DOCSTRING(dec2bin)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
469
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
470 @DOCSTRING(dec2hex)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
471
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
472 @DOCSTRING(hex2dec)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
473
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
474 @DOCSTRING(dec2base)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
475
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
476 @DOCSTRING(base2dec)
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
477
7639
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
478 @DOCSTRING(num2hex)
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
479
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
480 @DOCSTRING(hex2num)
b2fbb393a072 Add the num2hex and hex2num functions
David Bateman <dbateman@free.fr>
parents: 7081
diff changeset
481
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
482 @DOCSTRING(str2double)
3920
87db95b22f8f [project @ 2002-05-01 04:07:31 by jwe]
jwe
parents: 3893
diff changeset
483
6623
545847da3b88 [project @ 2007-05-15 02:23:08 by jwe]
jwe
parents: 6570
diff changeset
484 @DOCSTRING(strjust)
6502
6ab0a8767780 [project @ 2007-04-06 03:32:06 by jwe]
jwe
parents: 6501
diff changeset
485
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
486 @DOCSTRING(str2num)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
487
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
488 @DOCSTRING(toascii)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
489
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
490 @DOCSTRING(tolower)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
491
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
492 @DOCSTRING(toupper)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
493
3428
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3402
diff changeset
494 @DOCSTRING(do_string_escapes)
5b77cf82393c [project @ 2000-01-14 02:54:53 by jwe]
jwe
parents: 3402
diff changeset
495
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
496 @DOCSTRING(undo_string_escapes)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
497
4167
aae05d51353c [project @ 2002-11-12 02:52:50 by jwe]
jwe
parents: 3920
diff changeset
498 @node Character Class Functions
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
499 @section Character Class Functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
500
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
501 Octave also provides the following character class test functions
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
502 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
503 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
504 Elements that are nonzero indicate that the condition was true for the
10828
322f43e0e170 Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents: 9209
diff changeset
505 corresponding character in the string array. For example:
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
506
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
507 @example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
508 @group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
509 isalpha ("!Q@@WERT^Y&")
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
510 @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
511 @end group
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
512 @end example
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
513
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
514 @DOCSTRING(isalnum)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
515
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
516 @DOCSTRING(isalpha)
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
517
6549
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
518 @DOCSTRING(isletter)
5a5a09d7deb8 [project @ 2007-04-20 06:55:29 by jwe]
jwe
parents: 6502
diff changeset
519
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
520 @DOCSTRING(islower)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
521
12581
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
522 @DOCSTRING(isupper)
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
523
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
524 @DOCSTRING(isdigit)
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
525
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
526 @DOCSTRING(isxdigit)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
527
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
528 @DOCSTRING(ispunct)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
529
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3294
diff changeset
530 @DOCSTRING(isspace)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
531
12581
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
532 @DOCSTRING(iscntrl)
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
533
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
534 @DOCSTRING(isgraph)
3294
bfe1573bd2ae [project @ 1999-10-19 10:06:07 by jwe]
jwe
parents:
diff changeset
535
12581
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
536 @DOCSTRING(isprint)
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
537
c8be316f9543 Group commonly used isXXX functions together in documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
538 @DOCSTRING(isascii)
7984
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
539
bbaa5d7d0143 Some documentation updates
David Bateman <dbateman@free.fr>
parents: 7639
diff changeset
540 @DOCSTRING(isstrprop)