Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
String Class Reference

A more convenient string class. More...

#include <OpenMS/DATASTRUCTURES/String.h>

Inheritance diagram for String:

Public Types

Type definitions
enum  QuotingMethod { NONE, ESCAPE, DOUBLE }
 How to handle embedded quotes when quoting strings. More...
 
typedef iterator Iterator
 Iterator. More...
 
typedef const_iterator ConstIterator
 Const Iterator. More...
 
typedef reverse_iterator ReverseIterator
 Reverse Iterator. More...
 
typedef const_reverse_iterator ConstReverseIterator
 Const reverse Iterator. More...
 
typedef size_type SizeType
 UInt type. More...
 

Public Member Functions

bool split (const char splitter, std::vector< String > &substrings, bool quote_protect=false) const
 Splits a string into substrings using splitter as delimiter. More...
 
bool split (const String &splitter, std::vector< String > &substrings) const
 Splits a string into substrings using splitter (the whole string) as delimiter. More...
 
bool split_quoted (const String &splitter, std::vector< String > &substrings, char q='"', QuotingMethod method = ESCAPE) const
 Splits a string into substrings using splitter (the whole string) as delimiter, but does not split within quoted substrings. More...
 
template<class StringIterator >
void concatenate (StringIterator first, StringIterator last, const String &glue="")
 Concatenates all elements from first to last-1 and inserts glue between the elements. More...
 
Constructors
 String ()
 Default constructor. More...
 
 String (const std::string &s)
 Constructor from std::string. More...
 
 String (const QString &s)
 Constructor from Qt QString. More...
 
 String (const char *s)
 Constructor from char*. More...
 
 String (const char c)
 Constructor from a char. More...
 
 String (const char *s, SizeType length)
 Constructor from char* (only length characters) More...
 
 String (size_t len, char c)
 Constructor from char (repeats the char len times) More...
 
template<class InputIterator >
 String (InputIterator first, InputIterator last)
 Constructor from a char range. More...
 
 String (int i)
 Constructor from an integer. More...
 
 String (unsigned int i)
 Constructor from an unsigned integer. More...
 
 String (short int i)
 Constructor from an integer. More...
 
 String (short unsigned int i)
 Constructor from an unsigned integer. More...
 
 String (long int i)
 Constructor from an integer. More...
 
 String (long unsigned int i)
 Constructor from an unsigned integer. More...
 
 String (long long unsigned int i)
 Constructor from an unsigned integer. More...
 
 String (long long signed int i)
 Constructor from an unsigned integer. More...
 
 String (float f)
 Constructor from float. More...
 
 String (double d)
 Constructor from double. More...
 
 String (long double ld)
 Constructor from long double. More...
 
 String (const DataValue &d)
 Constructor from DataValue (casted to String) More...
 
Predicates
bool hasPrefix (const String &string) const
 true if String begins with string, false otherwise More...
 
bool hasSuffix (const String &string) const
 true if String ends with string, false otherwise More...
 
bool hasSubstring (const String &string) const
 true if String contains the string, false otherwise More...
 
bool has (Byte byte) const
 true if String contains the byte, false otherwise More...
 
Accessors
String prefix (SizeType length) const
 returns the prefix of length length More...
 
String suffix (SizeType length) const
 returns the suffix of length length More...
 
String prefix (Int length) const
 returns the prefix of length length More...
 
String suffix (Int length) const
 returns the suffix of length length More...
 
String prefix (char delim) const
 returns the prefix up to the first occurrence of char delim (excluding it) More...
 
String suffix (char delim) const
 returns the suffix up to the last occurrence of char delim (excluding it) More...
 
String substr (size_t pos=0, size_t n=npos) const
 Wrapper for the STL substr() method. Returns a String object with its contents initialized to a substring of the current object. More...
 
String chop (Size n) const
 Returns a substring where n characters were removed from the end of the string. More...
 
Mutators

All these methods return a reference to the string in order to make them chainable

Stringreverse ()
 inverts the direction of the string More...
 
Stringtrim ()
 removes whitespaces (space, tab, line feed, carriage return) at the beginning and the end of the string More...
 
Stringquote (char q='"', QuotingMethod method = ESCAPE)
 Wraps the string in quotation marks. More...
 
Stringunquote (char q='"', QuotingMethod method = ESCAPE)
 Reverses changes made by the quote method. More...
 
Stringsimplify ()
 merges subsequent whitespaces to one blank character More...
 
StringfillLeft (char c, UInt size)
 Adds c on the left side until the size of the string is size. More...
 
StringfillRight (char c, UInt size)
 Adds c on the right side until the size of the string is size. More...
 
StringtoUpper ()
 Converts the string to uppercase. More...
 
StringtoLower ()
 Converts the string to lowercase. More...
 
StringfirstToUpper ()
 Converts the first letter of the string to uppercase. More...
 
Stringsubstitute (char from, char to)
 Replaces all occurrences of the character from by the character to. More...
 
Stringsubstitute (const String &from, const String &to)
 Replaces all occurrences of the string from by the string to. More...
 
Stringremove (char what)
 Remove all occurrences of the character what. More...
 
StringensureLastChar (char end)
 Makes sure the string ends with the character end. More...
 
StringremoveWhitespaces ()
 removes whitespaces (space, tab, line feed, carriage return) More...
 
Converters
Int toInt () const
 Conversion to int. More...
 
float toFloat () const
 Conversion to float. More...
 
double toDouble () const
 Conversion to double. More...
 
QString toQString () const
 Conversion to Qt QString. More...
 
Sum operator overloads
String operator+ (int i) const
 Sum operator for an integer. More...
 
String operator+ (unsigned int i) const
 Sum operator for an unsigned integer. More...
 
String operator+ (short int i) const
 Sum operator for an integer. More...
 
String operator+ (short unsigned int i) const
 Sum operator for an unsigned integer. More...
 
String operator+ (long int i) const
 Sum operator for an integer. More...
 
String operator+ (long unsigned int i) const
 Sum operator for an unsigned integer. More...
 
String operator+ (long long unsigned int i) const
 Sum operator for an unsigned integer. More...
 
String operator+ (float f) const
 Sum operator for float. More...
 
String operator+ (double d) const
 Sum operator for double. More...
 
String operator+ (long double ld) const
 Sum operator for long double. More...
 
String operator+ (char c) const
 Sum operator for char. More...
 
String operator+ (const char *s) const
 Sum operator for char*. More...
 
String operator+ (const String &s) const
 Sum operator for String. More...
 
String operator+ (const std::string &s) const
 Sum operator for std::string. More...
 
Append operator overloads
Stringoperator+= (int i)
 Sum operator for an integer. More...
 
Stringoperator+= (unsigned int i)
 Sum operator for an unsigned integer. More...
 
Stringoperator+= (short int i)
 Sum operator for an integer. More...
 
Stringoperator+= (short unsigned int i)
 Sum operator for an unsigned integer. More...
 
Stringoperator+= (long int i)
 Sum operator for an integer. More...
 
Stringoperator+= (long unsigned int i)
 Sum operator for an unsigned integer. More...
 
Stringoperator+= (long long unsigned int i)
 Sum operator for an unsigned integer. More...
 
Stringoperator+= (float f)
 Sum operator for float. More...
 
Stringoperator+= (double d)
 Sum operator for double. More...
 
Stringoperator+= (long double d)
 Sum operator for long double. More...
 
Stringoperator+= (char c)
 Sum operator for char. More...
 
Stringoperator+= (const char *s)
 Sum operator for char*. More...
 
Stringoperator+= (const String &s)
 Sum operator for String. More...
 
Stringoperator+= (const std::string &s)
 Sum operator for std::string. More...
 

Static Public Member Functions

static String random (UInt length)
 returns a random string of the given length. It consists of [0-9a-zA-Z] More...
 
static String number (double d, UInt n)
 returns a string for d with exactly n decimal places More...
 
static String numberLength (double d, UInt n)
 Returns a string with at maximum n characters for d. More...
 

Static Public Attributes

static const String EMPTY
 Empty string for comparisons. More...
 

Detailed Description

A more convenient string class.

It is based on std::string but adds a lot of methods for convenience.

Member Typedef Documentation

◆ ConstIterator

typedef const_iterator ConstIterator

Const Iterator.

◆ ConstReverseIterator

typedef const_reverse_iterator ConstReverseIterator

Const reverse Iterator.

◆ Iterator

typedef iterator Iterator

Iterator.

◆ ReverseIterator

typedef reverse_iterator ReverseIterator

Reverse Iterator.

◆ SizeType

typedef size_type SizeType

UInt type.

Member Enumeration Documentation

◆ QuotingMethod

How to handle embedded quotes when quoting strings.

Enumerator
NONE 
ESCAPE 
DOUBLE 

Constructor & Destructor Documentation

◆ String() [1/20]

String ( )

Default constructor.

Referenced by StringView::getString(), and String::String().

◆ String() [2/20]

String ( const std::string &  s)

Constructor from std::string.

◆ String() [3/20]

String ( const QString &  s)

Constructor from Qt QString.

◆ String() [4/20]

String ( const char *  s)

Constructor from char*.

◆ String() [5/20]

String ( const char  c)

Constructor from a char.

◆ String() [6/20]

String ( const char *  s,
SizeType  length 
)

Constructor from char* (only length characters)

◆ String() [7/20]

String ( size_t  len,
char  c 
)

Constructor from char (repeats the char len times)

◆ String() [8/20]

String ( InputIterator  first,
InputIterator  last 
)
inline

◆ String() [9/20]

String ( int  i)

Constructor from an integer.

◆ String() [10/20]

String ( unsigned int  i)

Constructor from an unsigned integer.

◆ String() [11/20]

String ( short int  i)

Constructor from an integer.

◆ String() [12/20]

String ( short unsigned int  i)

Constructor from an unsigned integer.

◆ String() [13/20]

String ( long int  i)

Constructor from an integer.

◆ String() [14/20]

String ( long unsigned int  i)

Constructor from an unsigned integer.

◆ String() [15/20]

String ( long long unsigned int  i)

Constructor from an unsigned integer.

◆ String() [16/20]

String ( long long signed int  i)

Constructor from an unsigned integer.

◆ String() [17/20]

String ( float  f)

Constructor from float.

◆ String() [18/20]

String ( double  d)

Constructor from double.

◆ String() [19/20]

String ( long double  ld)

Constructor from long double.

◆ String() [20/20]

String ( const DataValue d)

Constructor from DataValue (casted to String)

Member Function Documentation

◆ chop()

String chop ( Size  n) const

Returns a substring where n characters were removed from the end of the string.

If n is greater than size(), the result is an empty string.

Parameters
nNumber of characters that will be removed from the end of the string.

Referenced by String::String().

◆ concatenate()

void concatenate ( StringIterator  first,
StringIterator  last,
const String glue = "" 
)
inline

Concatenates all elements from first to last-1 and inserts glue between the elements.

See also
split().

Referenced by MetaProSIPReporting::plotFilteredSpectra(), MetaProSIPReporting::plotHeatMap(), MetaProSIPReporting::plotScoresAndWeights(), and StringUtils::substitute().

◆ ensureLastChar()

String& ensureLastChar ( char  end)

Makes sure the string ends with the character end.

Referenced by String::String().

◆ fillLeft()

String& fillLeft ( char  c,
UInt  size 
)

Adds c on the left side until the size of the string is size.

Referenced by String::String().

◆ fillRight()

String& fillRight ( char  c,
UInt  size 
)

Adds c on the right side until the size of the string is size.

Referenced by String::String().

◆ firstToUpper()

String& firstToUpper ( )

Converts the first letter of the string to uppercase.

Referenced by String::String().

◆ has()

bool has ( Byte  byte) const

◆ hasPrefix()

bool hasPrefix ( const String string) const

◆ hasSubstring()

bool hasSubstring ( const String string) const

◆ hasSuffix()

bool hasSuffix ( const String string) const

◆ number()

static String number ( double  d,
UInt  n 
)
static

◆ numberLength()

static String numberLength ( double  d,
UInt  n 
)
static

Returns a string with at maximum n characters for d.

If d is larger, scientific notation is used.

Referenced by String::String().

◆ operator+() [1/14]

String operator+ ( int  i) const

Sum operator for an integer.

Referenced by String::String().

◆ operator+() [2/14]

String operator+ ( unsigned int  i) const

Sum operator for an unsigned integer.

◆ operator+() [3/14]

String operator+ ( short int  i) const

Sum operator for an integer.

◆ operator+() [4/14]

String operator+ ( short unsigned int  i) const

Sum operator for an unsigned integer.

◆ operator+() [5/14]

String operator+ ( long int  i) const

Sum operator for an integer.

◆ operator+() [6/14]

String operator+ ( long unsigned int  i) const

Sum operator for an unsigned integer.

◆ operator+() [7/14]

String operator+ ( long long unsigned int  i) const

Sum operator for an unsigned integer.

◆ operator+() [8/14]

String operator+ ( float  f) const

Sum operator for float.

◆ operator+() [9/14]

String operator+ ( double  d) const

Sum operator for double.

◆ operator+() [10/14]

String operator+ ( long double  ld) const

Sum operator for long double.

◆ operator+() [11/14]

String operator+ ( char  c) const

Sum operator for char.

◆ operator+() [12/14]

String operator+ ( const char *  s) const

Sum operator for char*.

◆ operator+() [13/14]

String operator+ ( const String s) const

Sum operator for String.

◆ operator+() [14/14]

String operator+ ( const std::string &  s) const

Sum operator for std::string.

◆ operator+=() [1/14]

String& operator+= ( int  i)

Sum operator for an integer.

Referenced by String::String().

◆ operator+=() [2/14]

String& operator+= ( unsigned int  i)

Sum operator for an unsigned integer.

◆ operator+=() [3/14]

String& operator+= ( short int  i)

Sum operator for an integer.

◆ operator+=() [4/14]

String& operator+= ( short unsigned int  i)

Sum operator for an unsigned integer.

◆ operator+=() [5/14]

String& operator+= ( long int  i)

Sum operator for an integer.

◆ operator+=() [6/14]

String& operator+= ( long unsigned int  i)

Sum operator for an unsigned integer.

◆ operator+=() [7/14]

String& operator+= ( long long unsigned int  i)

Sum operator for an unsigned integer.

◆ operator+=() [8/14]

String& operator+= ( float  f)

Sum operator for float.

◆ operator+=() [9/14]

String& operator+= ( double  d)

Sum operator for double.

◆ operator+=() [10/14]

String& operator+= ( long double  d)

Sum operator for long double.

◆ operator+=() [11/14]

String& operator+= ( char  c)

Sum operator for char.

◆ operator+=() [12/14]

String& operator+= ( const char *  s)

Sum operator for char*.

◆ operator+=() [13/14]

String& operator+= ( const String s)

Sum operator for String.

◆ operator+=() [14/14]

String& operator+= ( const std::string &  s)

Sum operator for std::string.

◆ prefix() [1/3]

String prefix ( SizeType  length) const

returns the prefix of length length

Exceptions
Exception::IndexOverflowis thrown if length is bigger than the size

Referenced by XMassFile::importExperimentalSettings(), XMassFile::load(), TOPPViewBase::showCurrentPeaksAs2D(), StringUtils::split(), and String::String().

◆ prefix() [2/3]

String prefix ( Int  length) const

returns the prefix of length length

Exceptions
Exception::IndexUnderflowis thrown if length is smaller than zero
Exception::IndexOverflowis thrown if length is bigger than the size

◆ prefix() [3/3]

String prefix ( char  delim) const

returns the prefix up to the first occurrence of char delim (excluding it)

Exceptions
Exception::ElementNotFoundis thrown if delim is not found

◆ quote()

String& quote ( char  q = '"',
QuotingMethod  method = ESCAPE 
)

Wraps the string in quotation marks.

The quotation mark can be specified by parameter q (typically single or double quote); embedded quotation marks are handled according to method by backslash-escaping, doubling, or not at all.

See also
unquote()

Referenced by String::String().

◆ random()

static String random ( UInt  length)
static

returns a random string of the given length. It consists of [0-9a-zA-Z]

Referenced by RIntegration::checkRDependencies(), TOPPMetaProSIP::main_(), and String::String().

◆ remove()

String& remove ( char  what)

Remove all occurrences of the character what.

Referenced by MascotGenericFile::getNextSpectrum_().

◆ removeWhitespaces()

String& removeWhitespaces ( )

removes whitespaces (space, tab, line feed, carriage return)

Referenced by RNPxlSearch::getPrecursorToFragmentAdducts_(), and String::String().

◆ reverse()

String& reverse ( )

inverts the direction of the string

Referenced by String::String().

◆ simplify()

String& simplify ( )

merges subsequent whitespaces to one blank character

Referenced by MascotGenericFile::getNextSpectrum_(), MS2File::load(), and String::String().

◆ split() [1/2]

bool split ( const char  splitter,
std::vector< String > &  substrings,
bool  quote_protect = false 
) const

Splits a string into substrings using splitter as delimiter.

If splitter is not found, the whole string is put into substrings. If splitter is empty, the string is split into individual characters. If the invoking string is empty, substrings will also be empty.

quote_protect (default: false) can be used to split only between quoted blocks e.g. ' "a string" , "another string with , in it" ' results in only two substrings (with double quotation marks removed). Every returned substring is trimmed and then (if present) has surrounding quotation marks removed.

Returns
true if one or more splits occurred, false otherwise
See also
concatenate().

Referenced by ListUtils::create(), extractCachedMetaFilename(), MascotGenericFile::getNextSpectrum_(), RNPxlSearch::getPrecursorToFragmentAdducts_(), MS2File::load(), SpecArrayFile::load(), MsInspectFile::load(), DTAFile::load(), DTA2DFile::load(), RNPxlSearch::postScoreHits_(), String::String(), and StringUtils::substitute().

◆ split() [2/2]

bool split ( const String splitter,
std::vector< String > &  substrings 
) const

Splits a string into substrings using splitter (the whole string) as delimiter.

If splitter is not found, the whole string is put into substrings. If splitter is empty, the string is split into individual characters. If the invoking string is empty, substrings will also be empty.

Returns
true if one or more splits occurred, false otherwise
See also
concatenate().

◆ split_quoted()

bool split_quoted ( const String splitter,
std::vector< String > &  substrings,
char  q = '"',
QuotingMethod  method = ESCAPE 
) const

Splits a string into substrings using splitter (the whole string) as delimiter, but does not split within quoted substrings.

A "quoted substring" has the format as produced by quote(q, method), where q is the quoting character and method defines the handling of embedded quotes. Substrings will not be "unquoted" or otherwise processed.

If splitter is not found, the whole string is put into substrings. If splitter or the invoking string is empty, substrings will also be empty.

Returns
true if one or more splits occurred, false otherwise
Exceptions
Exception::ConversionErroris thrown if quotation marks are not balanced
See also
concatenate(), quote().

Referenced by String::String().

◆ substitute() [1/2]

String& substitute ( char  from,
char  to 
)

◆ substitute() [2/2]

String& substitute ( const String from,
const String to 
)

Replaces all occurrences of the string from by the string to.

◆ substr()

String substr ( size_t  pos = 0,
size_t  n = npos 
) const

Wrapper for the STL substr() method. Returns a String object with its contents initialized to a substring of the current object.

Parameters
posPosition of a character in the current string object to be used as starting character for the substring. If the pos is past the end of the string, it is set to the end of the string.
nLength of the substring. If this value would make the substring to span past the end of the current string content, only those characters until the end of the string are used. npos is a static member constant value with the greatest possible value for an element of type size_t, therefore, when this value is used, all the characters between pos and the end of the string are used as the initialization substring.

Referenced by XMLHandler::asDateTime_(), XMLHandler::attributeAsDoubleList_(), XMLHandler::attributeAsIntList_(), XMLHandler::attributeAsStringList_(), MascotGenericFile::getNextSpectrum_(), DTA2DFile::load(), StringUtils::prefix(), OpenSwathTSVWriter::prepareLine(), StringUtils::split(), StringUtils::split_quoted(), String::String(), StringUtils::suffix(), and StringUtils::unquote().

◆ suffix() [1/3]

String suffix ( SizeType  length) const

returns the suffix of length length

Exceptions
Exception::IndexOverflowis thrown if length is bigger than the size

Referenced by XMassFile::load(), SortPairDoubleByFirst(), StringUtils::split(), and String::String().

◆ suffix() [2/3]

String suffix ( Int  length) const

returns the suffix of length length

Exceptions
Exception::IndexUnderflowis thrown if length is smaller than zero
Exception::IndexOverflowis thrown if length is bigger than the size

◆ suffix() [3/3]

String suffix ( char  delim) const

returns the suffix up to the last occurrence of char delim (excluding it)

Exceptions
Exception::ElementNotFoundis thrown if delim is not found

◆ toDouble()

double toDouble ( ) const

Conversion to double.

Exceptions
Exception::ConversionErroris thrown if the string could not be converted to double

Referenced by XMLHandler::asDouble_(), MascotGenericFile::getNextSpectrum_(), and String::String().

◆ toFloat()

float toFloat ( ) const

Conversion to float.

Exceptions
Exception::ConversionErroris thrown if the string could not be converted to float

Referenced by XMLHandler::asFloat_(), and String::String().

◆ toInt()

Int toInt ( ) const

Conversion to int.

This method extracts only the integral part of the string. If you want the result rounded, use toFloat() and round the result.

Exceptions
Exception::ConversionErroris thrown if the string could not be converted to int

Referenced by XMLHandler::asInt_(), XMLHandler::asUInt_(), MascotGenericFile::getNextSpectrum_(), RNPxlSearch::postScoreHits_(), and String::String().

◆ toLower()

String& toLower ( )

Converts the string to lowercase.

Referenced by AccurateMassSearchEngine::resolveAutoMode_(), SortPairDoubleByFirst(), and String::String().

◆ toQString()

QString toQString ( ) const

◆ toUpper()

String& toUpper ( )

◆ trim()

String& trim ( )

◆ unquote()

String& unquote ( char  q = '"',
QuotingMethod  method = ESCAPE 
)

Reverses changes made by the quote method.

Removes surrounding quotation marks (given by parameter q); handles embedded quotes according to method.

Exceptions
Exception::ConversionErroris thrown if the string does not have the format produced by quote
See also
quote()

Referenced by String::String().

Member Data Documentation

◆ EMPTY

const String EMPTY
static

Empty string for comparisons.


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:13 using doxygen 1.8.13