File: Cell-Arrays-of-Strings.html

package info (click to toggle)
octave 3.8.2-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 84,396 kB
  • ctags: 45,547
  • sloc: cpp: 293,356; ansic: 42,041; fortran: 23,669; sh: 13,629; objc: 7,890; yacc: 7,093; lex: 3,442; java: 2,125; makefile: 1,589; perl: 1,009; awk: 974; xml: 34
file content (139 lines) | stat: -rw-r--r-- 7,012 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Octave: Cell Arrays of Strings</title>

<meta name="description" content="GNU Octave: Cell Arrays of Strings">
<meta name="keywords" content="GNU Octave: Cell Arrays of Strings">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Cell-Arrays.html#Cell-Arrays" rel="up" title="Cell Arrays">
<link href="Processing-Data-in-Cell-Arrays.html#Processing-Data-in-Cell-Arrays" rel="next" title="Processing Data in Cell Arrays">
<link href="Indexing-Cell-Arrays.html#Indexing-Cell-Arrays" rel="prev" title="Indexing Cell Arrays">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Cell-Arrays-of-Strings"></a>
<div class="header">
<p>
Next: <a href="Processing-Data-in-Cell-Arrays.html#Processing-Data-in-Cell-Arrays" accesskey="n" rel="next">Processing Data in Cell Arrays</a>, Previous: <a href="Indexing-Cell-Arrays.html#Indexing-Cell-Arrays" accesskey="p" rel="prev">Indexing Cell Arrays</a>, Up: <a href="Cell-Arrays.html#Cell-Arrays" accesskey="u" rel="up">Cell Arrays</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Cell-Arrays-of-Strings-1"></a>
<h4 class="subsection">6.2.4 Cell Arrays of Strings</h4>

<p>One common use of cell arrays is to store multiple strings in the same
variable.  It is also possible to store multiple strings in a
character matrix by letting each row be a string.  This, however,
introduces the problem that all strings must be of equal length.
Therefore, it is recommended to use cell arrays to store multiple
strings.  For cases, where the character matrix representation is required
for an operation, there are several functions that convert a cell
array of strings to a character array and back.  <code>char</code> and
<code>strvcat</code> convert cell arrays to a character array
(see <a href="Concatenating-Strings.html#Concatenating-Strings">Concatenating Strings</a>), while the function <code>cellstr</code>
converts a character array to a cell array of strings: 
</p>
<div class="example">
<pre class="example">a = [&quot;hello&quot;; &quot;world&quot;];
c = cellstr (a)
     &rArr; c =
         {
           [1,1] = hello
           [2,1] = world
         }
</pre></div>

<a name="XREFcellstr"></a><dl>
<dt><a name="index-cellstr"></a>Built-in Function: <em><var>cstr</var> =</em> <strong>cellstr</strong> <em>(<var>strmat</var>)</em></dt>
<dd><p>Create a new cell array object from the elements of the string
array <var>strmat</var>.
</p>
<p>Each row of <var>strmat</var> becomes an element of <var>cstr</var>.  Any trailing
spaces in a row are deleted before conversion.
</p>
<p>To convert back from a cellstr to a character array use <code>char</code>.
</p>
<p><strong>See also:</strong> <a href="Creating-Cell-Arrays.html#XREFcell">cell</a>, <a href="Concatenating-Strings.html#XREFchar">char</a>.
</p></dd></dl>


<p>One further advantage of using cell arrays to store multiple strings is
that most functions for string manipulations included with Octave
support this representation.  As an example, it is possible to compare
one string with many others using the <code>strcmp</code> function.  If one of
the arguments to this function is a string and the other is a cell array
of strings, each element of the cell array will be compared to the string
argument:
</p>
<div class="example">
<pre class="example">c = {&quot;hello&quot;, &quot;world&quot;};
strcmp (&quot;hello&quot;, c)
     &rArr; ans =
        1   0
</pre></div>

<p>The following string functions support cell arrays of strings:
<code>char</code>, <code>strvcat</code>, <code>strcat</code> (see <a href="Concatenating-Strings.html#Concatenating-Strings">Concatenating Strings</a>), <code>strcmp</code>, <code>strncmp</code>, <code>strcmpi</code>,
<code>strncmpi</code> (see <a href="Comparing-Strings.html#Comparing-Strings">Comparing Strings</a>), <code>str2double</code>,
<code>deblank</code>, <code>strtrim</code>, <code>strtrunc</code>, <code>strfind</code>,
<code>strmatch</code>, , <code>regexp</code>, <code>regexpi</code> (see <a href="Manipulating-Strings.html#Manipulating-Strings">Manipulating Strings</a>) and <code>str2double</code> (see <a href="String-Conversions.html#String-Conversions">String Conversions</a>).
</p>
<p>The function <code>iscellstr</code> can be used to test if an object is a
cell array of strings.
</p>
<a name="XREFiscellstr"></a><dl>
<dt><a name="index-iscellstr"></a>Built-in Function: <em></em> <strong>iscellstr</strong> <em>(<var>cell</var>)</em></dt>
<dd><p>Return true if every element of the cell array <var>cell</var> is a
character string.
</p>
<p><strong>See also:</strong> <a href="Character-Arrays.html#XREFischar">ischar</a>.
</p></dd></dl>


<hr>
<div class="header">
<p>
Next: <a href="Processing-Data-in-Cell-Arrays.html#Processing-Data-in-Cell-Arrays" accesskey="n" rel="next">Processing Data in Cell Arrays</a>, Previous: <a href="Indexing-Cell-Arrays.html#Indexing-Cell-Arrays" accesskey="p" rel="prev">Indexing Cell Arrays</a>, Up: <a href="Cell-Arrays.html#Cell-Arrays" accesskey="u" rel="up">Cell Arrays</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>