\HeaderA{strsplit2}{Split Composite Names}{strsplit2}
\keyword{character}{strsplit2}
\begin{Description}\relax
Split a vector of composite names into a matrix of simple names.
\end{Description}
\begin{Usage}
\begin{verbatim}
strsplit2(x, split, extended = TRUE, fixed = FALSE, perl = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{x}] character vector
\item[\code{split}] character to split each element of vector on, see \code{strsplit}
\item[\code{extended}] logical.  If \code{TRUE}, extended regular expression matching is used, see \code{strsplit}.
\item[\code{fixed}] logical. If \code{TRUE} match string exactly, otherwise use regular expressions. Has priority over perl and extended.
\item[\code{perl}] logical. Should perl-compatible regexps be used? Has priority over extended.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
This function is the same as \code{\LinkA{strsplit}{strsplit}} except that the output value is a matrix instead of a list.
The first column of the matrix contains the first component from each element of \code{x}, the second column contains the second components etc.
The number of columns is equal to the maximum number of components for any element of \code{x}.
\end{Details}
\begin{Value}
A list containing components
\begin{ldescription}
\item[\code{Name}] character vector of the same length as \code{x} contain first splits of each element
\item[\code{Annotation}] character vector of the same length as \code{x} contain second splits of each element
\end{ldescription}
\end{Value}
\begin{Author}\relax
Gordon Smyth
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{strsplit}{strsplit}}.

An overview of LIMMA functions for reading data is given in \LinkA{03.ReadingData}{03.ReadingData}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
x <- c("AA196000;actinin, alpha 3",
"AA464163;acyl-Coenzyme A dehydrogenase, very long chain",
"3E7;W15277;No Annotation")
strsplit2(x,split=";")
\end{ExampleCode}
\end{Examples}

