\hypertarget{class_ogre_1_1_string_util}{}\section{Ogre\+:\+:String\+Util Class Reference}
\label{class_ogre_1_1_string_util}\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}


Utility class for manipulating Strings.  




{\ttfamily \#include $<$Ogre\+String.\+h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{namespace_ogre_a9f14407f349c1ec70ddab871a7806590}{String\+Stream} \hyperlink{class_ogre_1_1_string_util_a665d79932d54b48b83acff563de7a9e5}{Str\+Stream\+Type}
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static bool \hyperlink{class_ogre_1_1_string_util_a437e513c495d222d3aca1477cddfb6bf}{ends\+With} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&pattern, bool lower\+Case=true)
\begin{DoxyCompactList}\small\item\em Returns whether the string ends with the pattern passed in. \end{DoxyCompactList}\item 
static bool \hyperlink{class_ogre_1_1_string_util_a3005f863e31d14ad8e6502eb4d854709}{match} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&pattern, bool case\+Sensitive=true)
\begin{DoxyCompactList}\small\item\em Simple pattern-\/matching routine allowing a wildcard pattern. \end{DoxyCompactList}\item 
static \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_string_util_a861641bda60da5b659c03a21ed5182ba}{normalize\+File\+Path} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&init, bool make\+Lower\+Case=true)
\begin{DoxyCompactList}\small\item\em Returns a normalized version of a file path This method can be used to make file path strings which point to the same directory but have different texts to be normalized to the same text. \end{DoxyCompactList}\item 
static const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_string_util_a1fbf53b8f6abbc2ee21af4f1b464a25f}{replace\+All} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&source, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&replace\+What, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&replace\+With\+What)
\begin{DoxyCompactList}\small\item\em Replace all instances of a sub-\/string with a another sub-\/string. \end{DoxyCompactList}\item 
static std\+::vector$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} $>$ \hyperlink{class_ogre_1_1_string_util_ae644f35a6ea4f85113ad24d2a3ca4933}{split} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&delims=\char`\"{}\textbackslash{} \char`\"{}, unsigned int max\+Splits=0, bool preserve\+Delims=false)
\begin{DoxyCompactList}\small\item\em Returns a String\+Vector that contains all the substrings delimited by the characters in the passed {\ttfamily delims} argument. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a5061ec62dec2f01d8fd94d8d3a3677d6}{split\+Base\+Filename} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&full\+Name, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&out\+Basename, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&out\+Extention)
\begin{DoxyCompactList}\small\item\em Method for splitting a filename into the base name and extension. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a16e5c81bee0dee5b89cb9c28f5cc137c}{split\+Filename} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&qualified\+Name, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&out\+Basename, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&out\+Path)
\begin{DoxyCompactList}\small\item\em Method for splitting a fully qualified filename into the base name and path. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a3fe567e3f6a50feac64b50805d7e0446}{split\+Full\+Filename} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&qualified\+Name, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&out\+Basename, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&out\+Extention, \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&out\+Path)
\begin{DoxyCompactList}\small\item\em Method for splitting a fully qualified filename into the base name, extension and path. \end{DoxyCompactList}\item 
static \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \hyperlink{class_ogre_1_1_string_util_ab936109efdb3b4f224cdddbb37704cd0}{standardise\+Path} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&init)
\begin{DoxyCompactList}\small\item\em Method for standardising paths -\/ use forward slashes only, end with slash. \end{DoxyCompactList}\item 
static bool \hyperlink{class_ogre_1_1_string_util_aa08af119e6752852489de475559252a0}{starts\+With} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&pattern, bool lower\+Case=true)
\begin{DoxyCompactList}\small\item\em Returns whether the string begins with the pattern passed in. \end{DoxyCompactList}\item 
static std\+::vector$<$ \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} $>$ \hyperlink{class_ogre_1_1_string_util_a7eab4cb6cb428d5333055b406a2c0adb}{tokenise} (const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&delims=\char`\"{}\textbackslash{} \char`\"{}, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&double\+Delims=\char`\"{}\textbackslash{}, unsigned int max\+Splits=0)
\begin{DoxyCompactList}\small\item\em Returns a String\+Vector that contains all the substrings delimited by the characters in the passed {\ttfamily delims} argument, or in the {\ttfamily double\+Delims} argument, which is used to include (normal) delimeters in the tokenised string. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a9ffdb5be3d3ac225a551d8c6f961ded2}{to\+Lower\+Case} (\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str)
\begin{DoxyCompactList}\small\item\em Lower-\/cases all the characters in the string. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a39a3414b97be9472930142a8156d54f0}{to\+Title\+Case} (\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str)
\begin{DoxyCompactList}\small\item\em Upper-\/cases the first letter of each word. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_a6a4aa0d892879d1f835398bcc4a8b8d2}{to\+Upper\+Case} (\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str)
\begin{DoxyCompactList}\small\item\em Upper-\/cases all the characters in the string. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_string_util_ae36e8b6e19fef623f59d56772ed1dd7e}{trim} (\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&str, bool left=true, bool right=true)
\begin{DoxyCompactList}\small\item\em Removes any whitespace characters, be it standard space or T\+A\+Bs and so on. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_string_util_a853acbc843b0127ecf069c6aef70baed}{B\+L\+A\+NK}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Utility class for manipulating Strings. 



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a665d79932d54b48b83acff563de7a9e5}\label{class_ogre_1_1_string_util_a665d79932d54b48b83acff563de7a9e5}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!Str\+Stream\+Type@{Str\+Stream\+Type}}
\index{Str\+Stream\+Type@{Str\+Stream\+Type}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{Str\+Stream\+Type}{StrStreamType}}
{\footnotesize\ttfamily typedef \hyperlink{namespace_ogre_a9f14407f349c1ec70ddab871a7806590}{String\+Stream} \hyperlink{class_ogre_1_1_string_util_a665d79932d54b48b83acff563de7a9e5}{Ogre\+::\+String\+Util\+::\+Str\+Stream\+Type}}

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000146}{Deprecated}]use \hyperlink{group___general_gad842a4b416bd2f3245d2b44826a0aedc}{Ogre\+::\+B\+L\+A\+N\+K\+S\+T\+R\+I\+NG} instead \end{DoxyRefDesc}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_string_util_ae36e8b6e19fef623f59d56772ed1dd7e}\label{class_ogre_1_1_string_util_ae36e8b6e19fef623f59d56772ed1dd7e}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!trim@{trim}}
\index{trim@{trim}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{trim()}{trim()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::trim (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{bool}]{left = {\ttfamily true},  }\item[{bool}]{right = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Removes any whitespace characters, be it standard space or T\+A\+Bs and so on. 

\begin{DoxyRefDesc}{Deprecated}
\item[\hyperlink{deprecated__deprecated000147}{Deprecated}]use \hyperlink{namespace_ogre_a9f14407f349c1ec70ddab871a7806590}{Ogre\+::\+String\+Stream} instead \end{DoxyRefDesc}
\begin{DoxyRemark}{Remarks}
The user may specify whether they want to trim only the beginning or the end of the String ( the default action is to trim both). 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_string_util_ae644f35a6ea4f85113ad24d2a3ca4933}\label{class_ogre_1_1_string_util_ae644f35a6ea4f85113ad24d2a3ca4933}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!split@{split}}
\index{split@{split}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{split()}{split()}}
{\footnotesize\ttfamily static std\+::vector$<$\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}$>$ Ogre\+::\+String\+Util\+::split (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{delims = {\ttfamily \char`\"{}\textbackslash{}~\char`\"{}},  }\item[{unsigned int}]{max\+Splits = {\ttfamily 0},  }\item[{bool}]{preserve\+Delims = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns a String\+Vector that contains all the substrings delimited by the characters in the passed {\ttfamily delims} argument. 


\begin{DoxyParams}{Parameters}
{\em str} & \\
\hline
{\em delims} & A list of delimiter characters to split by \\
\hline
{\em max\+Splits} & The maximum number of splits to perform (0 for unlimited splits). If this parameters is $>$ 0, the splitting process will stop after this many splits, left to right. \\
\hline
{\em preserve\+Delims} & Flag to determine if delimiters should be saved as substrings \\
\hline
\end{DoxyParams}


Referenced by Ogre\+::\+Driver\+Version\+::from\+String(), and Ogre\+::\+String\+Converter\+::parse\+String\+Vector().

\mbox{\Hypertarget{class_ogre_1_1_string_util_a7eab4cb6cb428d5333055b406a2c0adb}\label{class_ogre_1_1_string_util_a7eab4cb6cb428d5333055b406a2c0adb}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!tokenise@{tokenise}}
\index{tokenise@{tokenise}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{tokenise()}{tokenise()}}
{\footnotesize\ttfamily static std\+::vector$<$\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}$>$ Ogre\+::\+String\+Util\+::tokenise (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{delims = {\ttfamily \char`\"{}\textbackslash{}~\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns a String\+Vector that contains all the substrings delimited by the characters in the passed {\ttfamily delims} argument, or in the {\ttfamily double\+Delims} argument, which is used to include (normal) delimeters in the tokenised string. 

For example, \char`\"{}strings like this\char`\"{}. 
\begin{DoxyParams}{Parameters}
{\em str} & \\
\hline
{\em delims} & A list of delimiter characters to split by \\
\hline
{\em double\+Delims} & A list of double delimeters characters to tokenise by \\
\hline
{\em max\+Splits} & The maximum number of splits to perform (0 for unlimited splits). If this parameters is $>$ 0, the splitting process will stop after this many splits, left to right. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a9ffdb5be3d3ac225a551d8c6f961ded2}\label{class_ogre_1_1_string_util_a9ffdb5be3d3ac225a551d8c6f961ded2}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!to\+Lower\+Case@{to\+Lower\+Case}}
\index{to\+Lower\+Case@{to\+Lower\+Case}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{to\+Lower\+Case()}{toLowerCase()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::to\+Lower\+Case (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Lower-\/cases all the characters in the string. 

\mbox{\Hypertarget{class_ogre_1_1_string_util_a6a4aa0d892879d1f835398bcc4a8b8d2}\label{class_ogre_1_1_string_util_a6a4aa0d892879d1f835398bcc4a8b8d2}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!to\+Upper\+Case@{to\+Upper\+Case}}
\index{to\+Upper\+Case@{to\+Upper\+Case}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{to\+Upper\+Case()}{toUpperCase()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::to\+Upper\+Case (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Upper-\/cases all the characters in the string. 

\mbox{\Hypertarget{class_ogre_1_1_string_util_a39a3414b97be9472930142a8156d54f0}\label{class_ogre_1_1_string_util_a39a3414b97be9472930142a8156d54f0}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!to\+Title\+Case@{to\+Title\+Case}}
\index{to\+Title\+Case@{to\+Title\+Case}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{to\+Title\+Case()}{toTitleCase()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::to\+Title\+Case (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Upper-\/cases the first letter of each word. 

\mbox{\Hypertarget{class_ogre_1_1_string_util_aa08af119e6752852489de475559252a0}\label{class_ogre_1_1_string_util_aa08af119e6752852489de475559252a0}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!starts\+With@{starts\+With}}
\index{starts\+With@{starts\+With}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{starts\+With()}{startsWith()}}
{\footnotesize\ttfamily static bool Ogre\+::\+String\+Util\+::starts\+With (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{pattern,  }\item[{bool}]{lower\+Case = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns whether the string begins with the pattern passed in. 


\begin{DoxyParams}{Parameters}
{\em str} & \\
\hline
{\em pattern} & The pattern to compare with. \\
\hline
{\em lower\+Case} & If true, the start of the string will be lower cased before comparison, pattern should also be in lower case. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a437e513c495d222d3aca1477cddfb6bf}\label{class_ogre_1_1_string_util_a437e513c495d222d3aca1477cddfb6bf}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!ends\+With@{ends\+With}}
\index{ends\+With@{ends\+With}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{ends\+With()}{endsWith()}}
{\footnotesize\ttfamily static bool Ogre\+::\+String\+Util\+::ends\+With (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{pattern,  }\item[{bool}]{lower\+Case = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns whether the string ends with the pattern passed in. 


\begin{DoxyParams}{Parameters}
{\em str} & \\
\hline
{\em pattern} & The pattern to compare with. \\
\hline
{\em lower\+Case} & If true, the end of the string will be lower cased before comparison, pattern should also be in lower case. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_string_util_ab936109efdb3b4f224cdddbb37704cd0}\label{class_ogre_1_1_string_util_ab936109efdb3b4f224cdddbb37704cd0}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!standardise\+Path@{standardise\+Path}}
\index{standardise\+Path@{standardise\+Path}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{standardise\+Path()}{standardisePath()}}
{\footnotesize\ttfamily static \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+String\+Util\+::standardise\+Path (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{init }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Method for standardising paths -\/ use forward slashes only, end with slash. 

\mbox{\Hypertarget{class_ogre_1_1_string_util_a861641bda60da5b659c03a21ed5182ba}\label{class_ogre_1_1_string_util_a861641bda60da5b659c03a21ed5182ba}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!normalize\+File\+Path@{normalize\+File\+Path}}
\index{normalize\+File\+Path@{normalize\+File\+Path}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{normalize\+File\+Path()}{normalizeFilePath()}}
{\footnotesize\ttfamily static \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+String\+Util\+::normalize\+File\+Path (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{init,  }\item[{bool}]{make\+Lower\+Case = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Returns a normalized version of a file path This method can be used to make file path strings which point to the same directory but have different texts to be normalized to the same text. 

The function\+:
\begin{DoxyItemize}
\item Transforms all backward slashes to forward slashes.
\item Removes repeating slashes.
\item Removes initial slashes from the beginning of the path.
\item Removes \char`\"{}.\textbackslash{}\char`\"{} and \char`\"{}..\textbackslash{}\char`\"{} meta directories.
\item Sets all characters to lowercase (if requested) 
\begin{DoxyParams}{Parameters}
{\em init} & The file path to normalize. \\
\hline
{\em make\+Lower\+Case} & If true, transforms all characters in the string to lowercase. \\
\hline
\end{DoxyParams}

\end{DoxyItemize}\mbox{\Hypertarget{class_ogre_1_1_string_util_a16e5c81bee0dee5b89cb9c28f5cc137c}\label{class_ogre_1_1_string_util_a16e5c81bee0dee5b89cb9c28f5cc137c}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!split\+Filename@{split\+Filename}}
\index{split\+Filename@{split\+Filename}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{split\+Filename()}{splitFilename()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::split\+Filename (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{qualified\+Name,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{out\+Basename,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{out\+Path }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Method for splitting a fully qualified filename into the base name and path. 

\begin{DoxyRemark}{Remarks}
Path is standardised as in standardise\+Path 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a3fe567e3f6a50feac64b50805d7e0446}\label{class_ogre_1_1_string_util_a3fe567e3f6a50feac64b50805d7e0446}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!split\+Full\+Filename@{split\+Full\+Filename}}
\index{split\+Full\+Filename@{split\+Full\+Filename}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{split\+Full\+Filename()}{splitFullFilename()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::split\+Full\+Filename (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{qualified\+Name,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{out\+Basename,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{out\+Extention,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{out\+Path }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Method for splitting a fully qualified filename into the base name, extension and path. 

\begin{DoxyRemark}{Remarks}
Path is standardised as in standardise\+Path 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a5061ec62dec2f01d8fd94d8d3a3677d6}\label{class_ogre_1_1_string_util_a5061ec62dec2f01d8fd94d8d3a3677d6}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!split\+Base\+Filename@{split\+Base\+Filename}}
\index{split\+Base\+Filename@{split\+Base\+Filename}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{split\+Base\+Filename()}{splitBaseFilename()}}
{\footnotesize\ttfamily static void Ogre\+::\+String\+Util\+::split\+Base\+Filename (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{full\+Name,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{out\+Basename,  }\item[{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{Ogre\+::\+String} \&}]{out\+Extention }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Method for splitting a filename into the base name and extension. 

\mbox{\Hypertarget{class_ogre_1_1_string_util_a3005f863e31d14ad8e6502eb4d854709}\label{class_ogre_1_1_string_util_a3005f863e31d14ad8e6502eb4d854709}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!match@{match}}
\index{match@{match}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{match()}{match()}}
{\footnotesize\ttfamily static bool Ogre\+::\+String\+Util\+::match (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{str,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{pattern,  }\item[{bool}]{case\+Sensitive = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Simple pattern-\/matching routine allowing a wildcard pattern. 


\begin{DoxyParams}{Parameters}
{\em str} & String to test \\
\hline
{\em pattern} & Pattern to match against; can include simple \textquotesingle{}$\ast$\textquotesingle{} wildcards \\
\hline
{\em case\+Sensitive} & Whether the match is case sensitive or not \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a1fbf53b8f6abbc2ee21af4f1b464a25f}\label{class_ogre_1_1_string_util_a1fbf53b8f6abbc2ee21af4f1b464a25f}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!replace\+All@{replace\+All}}
\index{replace\+All@{replace\+All}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{replace\+All()}{replaceAll()}}
{\footnotesize\ttfamily static const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} Ogre\+::\+String\+Util\+::replace\+All (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{source,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{replace\+What,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{replace\+With\+What }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Replace all instances of a sub-\/string with a another sub-\/string. 


\begin{DoxyParams}{Parameters}
{\em source} & Source string \\
\hline
{\em replace\+What} & Sub-\/string to find and replace \\
\hline
{\em replace\+With\+What} & Sub-\/string to replace with (the new sub-\/string) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An updated string with the sub-\/string replaced 
\end{DoxyReturn}


\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_string_util_a853acbc843b0127ecf069c6aef70baed}\label{class_ogre_1_1_string_util_a853acbc843b0127ecf069c6aef70baed}} 
\index{Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}!B\+L\+A\+NK@{B\+L\+A\+NK}}
\index{B\+L\+A\+NK@{B\+L\+A\+NK}!Ogre\+::\+String\+Util@{Ogre\+::\+String\+Util}}
\subsubsection{\texorpdfstring{B\+L\+A\+NK}{BLANK}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+String\+Util\+::\+B\+L\+A\+NK\hspace{0.3cm}{\ttfamily [static]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_string_8h}{Ogre\+String.\+h}\end{DoxyCompactItemize}
