Ogre::StringUtil Class Reference
[General]

Utility class for manipulating Strings. More...

#include <OgreString.h>

List of all members.

Public Types

typedef StringStream StrStreamType

Static Public Member Functions

static void trim (String &str, bool left=true, bool right=true)
 Removes any whitespace characters, be it standard space or TABs and so on.
static vector< String >::type split (const String &str, const String &delims="\t\n ", unsigned int maxSplits=0, bool preserveDelims=false)
 Returns a StringVector that contains all the substrings delimited by the characters in the passed delims argument.
static vector< String >::type tokenise (const String &str, const String &delims="\t\n ", const String &doubleDelims="\"", unsigned int maxSplits=0)
 Returns a StringVector that contains all the substrings delimited by the characters in the passed delims argument, or in the doubleDelims argument, which is used to include (normal) delimeters in the tokenised string.
static void toLowerCase (String &str)
 Lower-cases all the characters in the string.
static void toUpperCase (String &str)
 Upper-cases all the characters in the string.
static bool startsWith (const String &str, const String &pattern, bool lowerCase=true)
 Returns whether the string begins with the pattern passed in.
static bool endsWith (const String &str, const String &pattern, bool lowerCase=true)
 Returns whether the string ends with the pattern passed in.
static String standardisePath (const String &init)
 Method for standardising paths - use forward slashes only, end with slash.
static String normalizeFilePath (const String &init, bool makeLowerCase=true)
 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.
static void splitFilename (const String &qualifiedName, String &outBasename, String &outPath)
 Method for splitting a fully qualified filename into the base name and path.
static void splitFullFilename (const Ogre::String &qualifiedName, Ogre::String &outBasename, Ogre::String &outExtention, Ogre::String &outPath)
 Method for splitting a fully qualified filename into the base name, extension and path.
static void splitBaseFilename (const Ogre::String &fullName, Ogre::String &outBasename, Ogre::String &outExtention)
 Method for splitting a filename into the base name and extension.
static bool match (const String &str, const String &pattern, bool caseSensitive=true)
 Simple pattern-matching routine allowing a wildcard pattern.
static const String replaceAll (const String &source, const String &replaceWhat, const String &replaceWithWhat)
 replace all instances of a sub-string with a another sub-string.

Static Public Attributes

static const String BLANK
 Constant blank string, useful for returning by ref where local does not exist.

Detailed Description

Utility class for manipulating Strings.

Definition at line 74 of file OgreString.h.


Member Typedef Documentation

Definition at line 77 of file OgreString.h.


Member Function Documentation

static bool Ogre::StringUtil::endsWith ( const String str,
const String pattern,
bool  lowerCase = true 
) [static]

Returns whether the string ends with the pattern passed in.

Parameters:
pattern The pattern to compare with.
lowerCase If true, the end of the string will be lower cased before comparison, pattern should also be in lower case.
static bool Ogre::StringUtil::match ( const String str,
const String pattern,
bool  caseSensitive = true 
) [static]

Simple pattern-matching routine allowing a wildcard pattern.

Parameters:
str String to test
pattern Pattern to match against; can include simple '*' wildcards
caseSensitive Whether the match is case sensitive or not
static String Ogre::StringUtil::normalizeFilePath ( const String init,
bool  makeLowerCase = true 
) [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:

  • Transforms all backward slashes to forward slashes.
  • Removes repeating slashes.
  • Removes initial slashes from the beginning of the path.
  • Removes ".\" and "..\" meta directories.
  • Sets all characters to lowercase (if requested)
    Parameters:
    init The file path to normalize.
    makeLowerCase If true, transforms all characters in the string to lowercase.
static const String Ogre::StringUtil::replaceAll ( const String source,
const String replaceWhat,
const String replaceWithWhat 
) [static]

replace all instances of a sub-string with a another sub-string.

Parameters:
source Source string
replaceWhat Sub-string to find and replace
replaceWithWhat Sub-string to replace with (the new sub-string)
Returns:
An updated string with the sub-string replaced
static vector<String>::type Ogre::StringUtil::split ( const String str,
const String delims = "\t\n ",
unsigned int  maxSplits = 0,
bool  preserveDelims = false 
) [static]

Returns a StringVector that contains all the substrings delimited by the characters in the passed delims argument.

Parameters:
delims A list of delimiter characters to split by
maxSplits 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.
preserveDelims Flag to determine if delimiters should be saved as substrings

Referenced by Ogre::DriverVersion::fromString().

static void Ogre::StringUtil::splitBaseFilename ( const Ogre::String fullName,
Ogre::String outBasename,
Ogre::String outExtention 
) [static]

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

static void Ogre::StringUtil::splitFilename ( const String qualifiedName,
String outBasename,
String outPath 
) [static]

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

Remarks:
Path is standardised as in standardisePath
static void Ogre::StringUtil::splitFullFilename ( const Ogre::String qualifiedName,
Ogre::String outBasename,
Ogre::String outExtention,
Ogre::String outPath 
) [static]

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

Remarks:
Path is standardised as in standardisePath
static String Ogre::StringUtil::standardisePath ( const String init  )  [static]

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

static bool Ogre::StringUtil::startsWith ( const String str,
const String pattern,
bool  lowerCase = true 
) [static]

Returns whether the string begins with the pattern passed in.

Parameters:
pattern The pattern to compare with.
lowerCase If true, the start of the string will be lower cased before comparison, pattern should also be in lower case.
static vector<String>::type Ogre::StringUtil::tokenise ( const String str,
const String delims = "\t\n ",
const String doubleDelims = "\"",
unsigned int  maxSplits = 0 
) [static]

Returns a StringVector that contains all the substrings delimited by the characters in the passed delims argument, or in the doubleDelims argument, which is used to include (normal) delimeters in the tokenised string.

For example, "strings like this".

Parameters:
delims A list of delimiter characters to split by
delims A list of double delimeters characters to tokenise by
maxSplits 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.
static void Ogre::StringUtil::toLowerCase ( String str  )  [static]

Lower-cases all the characters in the string.

static void Ogre::StringUtil::toUpperCase ( String str  )  [static]

Upper-cases all the characters in the string.

static void Ogre::StringUtil::trim ( String str,
bool  left = true,
bool  right = true 
) [static]

Removes any whitespace characters, be it standard space or TABs and so on.

Remarks:
The user may specify wether they want to trim only the beginning or the end of the String ( the default action is to trim both).

Member Data Documentation

Constant blank string, useful for returning by ref where local does not exist.

Definition at line 195 of file OgreString.h.

Referenced by Ogre::AnimableObject::getAnimableDictionaryName(), Ogre::CompositorInstance::getScheme(), and Ogre::Log::Stream::operator<<().


The documentation for this class was generated from the following file:

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 23:40:53 2012