PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::String Klassenreferenz

String-Klasse. Mehr ...

Basisklasse für ppl7::AssocArray::ArrayKey.

Öffentliche Methoden

size_t capacity () const
 Anzahl Zeichen, die in den bereits allokierten Speicher passen. Mehr ...
 
void clear () throw ()
 String leeren. Mehr ...
 
bool isEmpty () const
 Prüft, ob der String leer ist. Mehr ...
 
bool isFalse () const
 Prüft, ob der String "unwahr" ist. Mehr ...
 
bool isInteger () const
 Prüft, ob der String einen Integer Wert enthält. Mehr ...
 
bool isNumeric () const
 Prüft, ob der String nummerisch ist. Mehr ...
 
bool isTrue () const
 Prüft, ob der String "wahr" ist. Mehr ...
 
String left (size_t len) const
 Linken Teilstring zurückgeben. Mehr ...
 
size_t len () const
 Länge des Strings. Mehr ...
 
size_t length () const
 Länge des Strings. Mehr ...
 
String mid (size_t start, size_t len=(size_t)-1) const
 Teilstring zurückgeben. Mehr ...
 
bool notEmpty () const
 Prüft, ob der String Zeichen enthält. Mehr ...
 
void reserve (size_t size)
 Reserviert Speicher für den String. Mehr ...
 
String right (size_t len) const
 Rechten Teilstring zurückgeben. Mehr ...
 
size_t size () const
 Länge des Strings. Mehr ...
 
int strCaseCmp (const String &str, size_t size=(size_t)-1) const
 Stringvergleich mit Ignorierung von Gross-/Kleinschreibung. Mehr ...
 
int strCaseCmp (const char *str, size_t size=(size_t)-1) const
 
int strcmp (const String &str, size_t size=(size_t)-1) const
 Führt einen Vergleich mit einem anderen String durch. Mehr ...
 
int strcmp (const char *str, size_t size=(size_t)-1) const
 
String substr (size_t start, size_t len=(size_t)-1) const
 Teilstring zurückgeben. Mehr ...
 
Konstruktoren und Destruktor
 String () throw ()
 Konstruktor für leeren String. Mehr ...
 
 String (const char *str)
 Konstruktor aus C-String. Mehr ...
 
 String (const char *str, size_t size)
 Konstruktor aus Wide-Character-String mit bestimmer Länge. Mehr ...
 
 String (const String *str)
 Konstruktor aus String-Pointer. Mehr ...
 
 String (const String &str)
 Konstruktor aus anderem String (Copy-Konstruktor) Mehr ...
 
 String (const WideString *str)
 
 String (const WideString &str)
 
 String (const std::string &str)
 Konstruktor aus Standard-Template String. Mehr ...
 
 String (const std::wstring &str)
 Konstruktor aus Standard-Template Wide-String. Mehr ...
 
 ~String () throw ()
 Destruktor. Mehr ...
 
String setzen und verändern
Stringset (const char *str, size_t size=(size_t)-1)
 String anhand eines C-Strings setzen. Mehr ...
 
Stringset (const String *str, size_t size=(size_t)-1)
 String anhand eines String-Pointers setzen. Mehr ...
 
Stringset (const String &str, size_t size=(size_t)-1)
 Wert eines anderen Strings übernehmen. Mehr ...
 
Stringset (const WideString *str, size_t size=(size_t)-1)
 
Stringset (const WideString &str, size_t size=(size_t)-1)
 
Stringset (const std::string &str, size_t size=(size_t)-1)
 Wert eines Strings der STL übernehmen. Mehr ...
 
Stringset (const std::wstring &str, size_t size=(size_t)-1)
 Wert eines Wide-Strings der STL übernehmen. Mehr ...
 
Stringset (const wchar_t *str, size_t size=(size_t)-1)
 String anhand eines wchar_t* setzen. Mehr ...
 
Stringset (char c)
 Einzelnes ASCII-Zeichen übernehmen. Mehr ...
 
Stringset (size_t position, char c)
 Einzelnes Zeichen ersetzen. Mehr ...
 
Stringsetf (const char *fmt,...)
 Erzeugt einen formatierten String. Mehr ...
 
Stringappend (const char *str, size_t size=(size_t)-1)
 Fügt einen C-String an das Ende des bestehenden an. Mehr ...
 
Stringappend (const String *str, size_t size=(size_t)-1)
 Fügt einen als Pointer übergebenen String an das Ende des bestehenden an. Mehr ...
 
Stringappend (const String &str, size_t size=(size_t)-1)
 Fügt einen String an das Ende des bestehenden an. Mehr ...
 
Stringappend (const std::string &str, size_t size=(size_t)-1)
 Fügt einen std::string an das Ende des bestehenden an. Mehr ...
 
Stringappend (const std::wstring &str, size_t size=(size_t)-1)
 Fügt einen std::wstring an das Ende des bestehenden an. Mehr ...
 
Stringappend (const wchar_t *str, size_t size=(size_t)-1)
 Fügt einen Wide-Character String an das Ende des bestehenden an. Mehr ...
 
Stringappendf (const char *fmt,...)
 Fügt einen Formatierten String an das Ende des bestehenden an. Mehr ...
 
Stringappend (char c)
 Einzelnes ASCII-Zeichen anhängen. Mehr ...
 
Stringprepend (const char *str, size_t size=(size_t)-1)
 Fügt einen C-String am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprepend (const String *str, size_t size=(size_t)-1)
 Fügt einen String am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprepend (const String &str, size_t size=(size_t)-1)
 Fügt einen String am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprepend (const std::string &str, size_t size=(size_t)-1)
 Fügt einen std::string der STL am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprepend (const std::wstring &str, size_t size=(size_t)-1)
 Fügt einen std::wstring der STL am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprepend (const wchar_t *str, size_t size=(size_t)-1)
 Fügt einen Wide-Character String am Anfang des bestehenden Strings ein. Mehr ...
 
Stringprependf (const char *fmt,...)
 Fügt einen Formatierten String am Anfang bestehenden ein. Mehr ...
 
Stringprepend (char c)
 Einzelnes ASCII-Zeichen am Anfang einfügen. Mehr ...
 
Stringvasprintf (const char *fmt, va_list args)
 Erzeugt einen formatierten String. Mehr ...
 
Stringrepeat (size_t num)
 String wiederholen. Mehr ...
 
Stringrepeat (char code, size_t num)
 Füllt den String mit einem Zeichen. Mehr ...
 
Stringrepeat (const String &str, size_t num)
 String wiederholen. Mehr ...
 
String repeated (size_t num) const
 String multiplizieren. Mehr ...
 
void lowerCase ()
 Wandelt alle Zeichen des Strings in Kleinbuchstaben um. Mehr ...
 
void upperCase ()
 Wandelt alle Zeichen des Strings in Grossbuchstaben um. Mehr ...
 
void upperCaseWords ()
 Anfangsbuchstaben der Wörter groß Mehr ...
 
void trim ()
 Schneidet Leerzeichen, Tabs, Returns und Linefeeds am Anfang und Ende des Strings ab. Mehr ...
 
String trimmed () const
 Schneidet Leerzeichen, Tabs, Returns und Linefeeds am Anfang und Ende des Strings ab. Mehr ...
 
String toLowerCase () const
 
String toUpperCase () const
 
String toUpperCaseWords () const
 
void trimLeft ()
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Anfang des Strings ab. Mehr ...
 
void trimRight ()
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Ende des Strings ab. Mehr ...
 
void trim (const String &chars)
 Schneidet die definierten Zeichen am Anfang und Ende des Strings ab. Mehr ...
 
void trimLeft (const String &chars)
 Schneidet die definierten Zeichen am Anfang des Strings ab. Mehr ...
 
void trimRight (const String &chars)
 Schneidet die definierten Zeichen am Ende des Strings ab. Mehr ...
 
void chopRight (size_t num=1)
 Schneidet Zeichen am Ende des Strings ab. Mehr ...
 
void chop (size_t num=1)
 Schneidet Zeichen am Ende des Strings ab. Mehr ...
 
void chopLeft (size_t num=1)
 Schneidet Zeichen am Anfang des Strings ab. Mehr ...
 
void chomp ()
 Schneidet Returns und Linefeeds am Anfanng und Ende des Strings ab. Mehr ...
 
void cut (size_t pos)
 Schneidet den String an einer bestimmten Stelle ab. Mehr ...
 
void cut (const String &letter)
 Schneidet den String beim ersten Auftauchen eines Zeichens/Strings ab. Mehr ...
 
String strchr (char c) const
 
String strrchr (char c) const
 
String strstr (const String &needle) const
 Teilstring finden. Mehr ...
 
ssize_t find (const String &needle, ssize_t start=0) const
 Sucht nach einem String. Mehr ...
 
ssize_t findCase (const String &needle, ssize_t start=0) const
 Sucht nach einem String, Gross-/Kleinschreibung wird ignoriert. Mehr ...
 
ssize_t instr (const String &needle, size_t start=0) const
 Sucht nach einem String. Mehr ...
 
ssize_t instrCase (const String &needle, size_t start=0) const
 Sucht nach einem String, Gross-/Kleinschreibung wird ignoriert. Mehr ...
 
bool has (const String &needle, bool ignoreCase=false) const
 
StringstripSlashes ()
 
Stringreplace (const String &search, const String &replacement)
 Ersetzt einen Teilstring durch einen anderen. Mehr ...
 
StringpregReplace (const String &expression, const String &replacement, int max=0)
 Es wird ein Suchen und Ersetzen anhand einer Regular Expression durchgeführt. Mehr ...
 
StringpregEscape ()
 Fügt dem String Escape-Zeichen zu, zur Verwendung in einem Match. Mehr ...
 
bool pregMatch (const String &expression) const
 Der String wird anhand einer Regular Expression durchsucht. Mehr ...
 
bool pregMatch (const String &expression, Array &matches, size_t maxmatches=16) const
 Der String wird anhand einer Regular Expression durchsucht. Mehr ...
 
String ausgeben und auslesen
void print (bool withNewline=false) const throw ()
 String auf STDOUT ausgeben. Mehr ...
 
void printnl () const throw ()
 String auf STDOUT mit abschließendem Zeilenumbruch ausgeben. Mehr ...
 
void hexDump () const
 Hexdump des Strings ausgeben. Mehr ...
 
char get (ssize_t pos) const
 Einzelnes Zeichen auslesen. Mehr ...
 
const char * getPtr () const
 Pointer auf den internen C-String Mehr ...
 
const char * c_str () const
 Pointer auf den internen C-String Mehr ...
 
ByteArray toEncoding (const char *encoding) const
 String in eine beliebige lokale Kodierung umwandeln. Mehr ...
 
ByteArray toUCS4 () const
 
ByteArray toUtf8 () const
 
StringfromUCS4 (const ppluint32 *str, size_t size=(size_t)-1)
 
StringfromUCS4 (const ByteArrayPtr &bin)
 
String md5 () const
 MD5-Summe berechnen. Mehr ...
 
int toInt () const
 
unsigned int toUnsignedInt () const
 
pplint64 toInt64 () const
 
ppluint64 toUnsignedInt64 () const
 
WideString toWideString () const
 
bool toBool () const
 
long toLong () const
 
unsigned long toUnsignedLong () const
 
long long toLongLong () const
 
unsigned long long toUnsignedLongLong () const
 
float toFloat () const
 
double toDouble () const
 
const char * toChar () const
 Pointer auf den internen C-String Mehr ...
 
Operatoren
 operator const char * () const
 Pointer auf den internen C-String Mehr ...
 
 operator const unsigned char * () const
 Pointer auf den internen C-String Mehr ...
 
 operator int () const
 
 operator unsigned int () const
 
 operator bool () const
 
 operator long () const
 
 operator unsigned long () const
 
 operator long long () const
 
 operator unsigned long long () const
 
 operator float () const
 
 operator double () const
 
 operator std::string () const
 
 operator std::wstring () const
 
char operator[] (ssize_t pos) const
 Einzelnes Zeichen auslesen. Mehr ...
 
Stringoperator= (const char *str)
 String übernehmen. Mehr ...
 
Stringoperator= (const wchar_t *str)
 String übernehmen. Mehr ...
 
Stringoperator= (const String *str)
 String übernehmen. Mehr ...
 
Stringoperator= (const String &str)
 String übernehmen. Mehr ...
 
Stringoperator= (const std::string &str)
 String übernehmen. Mehr ...
 
Stringoperator= (const std::wstring &str)
 String übernehmen. Mehr ...
 
Stringoperator= (char c)
 Zeichen übernehmen. Mehr ...
 
Stringoperator+= (const char *str)
 String addieren. Mehr ...
 
Stringoperator+= (const wchar_t *str)
 String addieren. Mehr ...
 
Stringoperator+= (const String &str)
 String addieren. Mehr ...
 
Stringoperator+= (const std::string &str)
 String addieren. Mehr ...
 
Stringoperator+= (const std::wstring &str)
 String addieren. Mehr ...
 
Stringoperator+= (char c)
 Zeichen anhängen. Mehr ...
 
bool operator< (const String &str) const
 Kleiner als. Mehr ...
 
bool operator<= (const String &str) const
 Kleiner oder gleich. Mehr ...
 
bool operator== (const String &str) const
 Gleich. Mehr ...
 
bool operator!= (const String &str) const
 Ungleich. Mehr ...
 
bool operator>= (const String &str) const
 Größer oder gleich. Mehr ...
 
bool operator> (const String &str) const
 Größer als. Mehr ...
 
bool operator< (const char *str) const
 Kleiner als. Mehr ...
 
bool operator<= (const char *str) const
 Kleiner oder gleich. Mehr ...
 
bool operator== (const char *str) const
 Gleich. Mehr ...
 
bool operator!= (const char *str) const
 Ungleich. Mehr ...
 
bool operator>= (const char *str) const
 Größer oder gleich. Mehr ...
 
bool operator> (const char *str) const
 Größer als. Mehr ...
 

Öffentliche, statische Methoden

Statische Funktionen
static void setGlobalEncoding (const char *encoding)
 Zeichenkodierung festlegen. Mehr ...
 
static const char * getGlobalEncoding ()
 

Private Attribute

char * ptr
 
size_t s
 
size_t stringlen
 

Verwandte Funktionen

(Es handelt sich hierbei nicht um Elementfunktionen.)

ssize_t Instr (const char *haystack, const char *needle, size_t start)
 Sucht nach Zeichen in einem String. Mehr ...
 
ssize_t Instr (const wchar_t *haystack, const wchar_t *needle, size_t start)
 Sucht nach Zeichen in einem String. Mehr ...
 
ssize_t Instr (const String &haystack, const String &needle, size_t start)
 Sucht nach Zeichen in einem String. Mehr ...
 
ssize_t Instrcase (const char *haystack, const char *needle, size_t start)
 Sucht nach Zeichen in einem String und ignoriert Gross-/Kleinschreibung. Mehr ...
 
ssize_t Instrcase (const wchar_t *haystack, const wchar_t *needle, size_t start)
 Sucht nach Zeichen in einem String und ignoriert Gross-/Kleinschreibung. Mehr ...
 
ssize_t InstrCase (const String &haystack, const String &needle, size_t start)
 Sucht nach Zeichen in einem String und ignoriert Gross-/Kleinschreibung. Mehr ...
 
WideString operator+ (const WideString &str1, const WideString &str2)
 String addieren. Mehr ...
 
WideString operator+ (const char *str1, const WideString &str2)
 String addieren. Mehr ...
 
WideString operator+ (const WideString &str1, const char *str2)
 String addieren. Mehr ...
 
WideString operator+ (const wchar_t *str1, const WideString &str2)
 String addieren. Mehr ...
 
WideString operator+ (const WideString &str1, const wchar_t *str2)
 String addieren. Mehr ...
 
WideString operator+ (const std::string &str1, const WideString &str2)
 String addieren. Mehr ...
 
WideString operator+ (const WideString &str1, const std::string &str2)
 String addieren. Mehr ...
 
WideString operator+ (const std::wstring &str1, const WideString &str2)
 String addieren. Mehr ...
 
String operator+ (const String &str1, const String &str2)
 String addieren. Mehr ...
 
WideString operator+ (const WideString &str1, const std::wstring &str2)
 String addieren. Mehr ...
 
String operator+ (const char *str1, const String &str2)
 String addieren. Mehr ...
 
String operator+ (const String &str1, const char *str2)
 String addieren. Mehr ...
 
String operator+ (const wchar_t *str1, const String &str2)
 String addieren. Mehr ...
 
String operator+ (const String &str1, const wchar_t *str2)
 String addieren. Mehr ...
 
String operator+ (const std::string &str1, const String &str2)
 String addieren. Mehr ...
 
String operator+ (const String &str1, const std::string &str2)
 String addieren. Mehr ...
 
String operator+ (const std::wstring &str1, const String &str2)
 String addieren. Mehr ...
 
String operator+ (const String &str1, const std::wstring &str2)
 String addieren. Mehr ...
 
bool PregMatch (const String &expression, const String &subject)
 Der String wird anhand einer Regular Expression durchsucht. Mehr ...
 
bool PregMatch (const String &expression, const String &subject, Array &matches, size_t maxmatches)
 Der String wird anhand einer Regular Expression durchsucht. Mehr ...
 
String Trim (const String &str)
 Schneidet Leerzeichen, Tabs Returns und Linefeeds am Anfang und Ende des Strings ab. Mehr ...
 

Ausführliche Beschreibung

Beschreibung:
Diese Klasse kann verwendet werden, um beliebige Strings zu speichern und zu verarbeiten. Dabei braucht sich der Anwender keine Gedanken um den verwendeten Speicher zu machen. Die einzelnen Zeichen des Strings werden intern im Unicode-Format gespeichert. Bei Übernahme eines C-Strings wird erwartet, dass dieser im UTF-8 Format vorliegt, mit der statischen Funktion String::setGlobalEncoding kann jedoch auch eine andere Kodierung vorgegeben werden.

Beschreibung der Konstruktoren und Destruktoren

ppl7::String::String ( )
throw (
)
Beschreibung:
Es wird ein leerer String erstellt.
ppl7::String::String ( const char *  str)
Beschreibung:
Ein String wird aus einem C-String erstellt.
Parameter
strC-String mit 0-Byte am Ende
Ausnahmebehandlung
OutOfMemoryException
UnsupportedFeatureException
UnsupportedCharacterEncodingException
CharacterEncodingException
ppl7::String::String ( const char *  str,
size_t  size 
)
Beschreibung:
Ein String wird aus dem Wide-Character-String str erstellt, von dem maximal size Zeichen übernommen werden.
Parameter
strWide-Character-String, der mit einem 0-Wert Endet
sizeMaximale Anzahl Zeichen, die übernommen werden sollen
Ausnahmebehandlung
OutOfMemoryException
ppl7::String::String ( const String str)
Beschreibung:
Ein String wird aus einem anderen String erstellt.
Parameter
strPointer auf einen anderen String
Ausnahmebehandlung
OutOfMemoryException
ppl7::String::String ( const String str)
Beschreibung:
Ein String wird aus einem anderen String erstellt.
Parameter
strReferenz auf einen anderen String
Ausnahmebehandlung
OutOfMemoryException
ppl7::String::String ( const WideString str)
ppl7::String::String ( const WideString str)
ppl7::String::String ( const std::string &  str)
Beschreibung:
Ein String wird aus einem String der Standard-Template-Library (STL) erstellt.
Parameter
strReferenz auf String der STL
Ausnahmebehandlung
OutOfMemoryException
UnsupportedFeatureException
UnsupportedCharacterEncodingException
CharacterEncodingException
ppl7::String::String ( const std::wstring &  str)
Beschreibung:
Ein String wird aus einem Wide-String der Standard-Template-Library (STL) erstellt.
Parameter
strReferenz auf Wide-String der STL
Ausnahmebehandlung
OutOfMemoryException
ppl7::String::~String ( )
throw (
)
Beschreibung:
Der Destructor gibt den durch den String belegten Speicher wieder frei.

Dokumentation der Elementfunktionen

String & ppl7::String::append ( const char *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen C-String an das Ende des bestehenden an. Der String muss entweder UTF-8 kodiert sein, oder es muss mit der statischen Funktion String::setGlobalEncoding zuvor eine andere Kodierung gesetzt worden sein.
Parameter
[in]strPointer auf einen Wide-Character String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
UnsupportedFeatureException
UnsupportedCharacterEncodingException
CharacterEncodingException
String & ppl7::String::append ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen als Pointer übergebenen String an das Ende des bestehenden an. Ist der Pointer NULL oder der Inhalt des Strings leer, wird der bisherige String beibehalten, es erfolgt keine Exception.
Parameter
[in]strPointer auf ein String-Objekt
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::append ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen String an das Ende des bestehenden an.
Parameter
[in]strReferenz auf ein String-Objekt
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::append ( const std::string &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen std::string an das Ende des bestehenden an.
Parameter
[in]strReferenz auf ein String-Objekt der STL
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::append ( const std::wstring &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen std::wstring an das Ende des bestehenden an.
Parameter
[in]strReferenz auf ein Wide-String-Objekt der STL
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::append ( const wchar_t *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen Wide-Character String an das Ende des bestehenden an
Parameter
[in]strPointer auf einen Wide-Character String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::append ( char  c)
Beschreibung:
Ein einzelnes ASCII-Zeichen c wird in an den String angehangen.
Parameter
cASCII-Wert des gewünschten Zeichens
Rückgabe
Referenz auf den String
String & ppl7::String::appendf ( const char *  fmt,
  ... 
)

Anhand des übergebenen Formatstrings fmt und den optionalen Parametern ... wird ein neuer String gebildet, der an das Ende des bestehenden angehangen wird

Parameter
fmtDer Formatstring
...Optionale Parameter
Rückgabe
Referenz auf den String
Example:
int main(int argc, char **argv)
{
s="Hallo Welt!";
s.appendf (" Es wurden %i Parameter übergeben\n",argc);
s.printnl();
return 0;
}
const char * ppl7::String::c_str ( ) const
Beschreibung:
Diese Funktion liefert einen Pointer im Format "const char*" auf den internen C-String der Klasse zurück. Falls der String leer ist, wird ein Pointer auf einen leeren String zurückgegeben. Das Ergebnis kann in printf und verwandten Funktionen mit dem Formatstring "%s" verwendet werden.
Rückgabe
Pointer auf den internen C-String der Klasse
Beispiel:
void PrintString(const ppl7::String &text)
{
printf ("Der String lautet: %s\n",text.getPtr());
// oder mittels Operator:
printf ("Der String lautet: %s\n",(const char*)text);
}
Siehe auch
Die folgenden Funktionen erfüllen den gleichen Zweck:
size_t ppl7::String::capacity ( ) const
Beschreibung:
Diese Funktion liefert die Anzahl Zeichen zurück, die in den derzeitig allokierten Puffer passen, ohne dass neuer Speicher allokiert werden muss.
Rückgabe
Anzahl Zeichen
void ppl7::String::chomp ( )
Beschreibung:
Schneidet Returns und Linefeeds am Anfanng und Ende des Strings ab
void ppl7::String::chop ( size_t  num = 1)
Beschreibung:
Diese Funktion schneidet num Zeichen vom Ende des Strings ab. Falls num größer als der String ist, bleibt ein leerer String zurück.
Parameter
numAnzahl Zeichen, die abgeschnitten werden sollen
Siehe auch
Die Funktion ist identisch zu String::chopRight
void ppl7::String::chopLeft ( size_t  num = 1)
Beschreibung:
Diese Funktion schneidet num Zeichen vom Anfang des Strings ab. Falls num größer als der String ist, bleibt ein leerer String zurück.
Parameter
numAnzahl Zeichen, die abgeschnitten werden sollen
void ppl7::String::chopRight ( size_t  num = 1)
Beschreibung:
Diese Funktion schneidet num Zeichen vom Ende des Strings ab. Falls num größer als der String ist, bleibt ein leerer String zurück.
Parameter
numAnzahl Zeichen, die abgeschnitten werden sollen
void ppl7::String::clear ( )
throw (
)
Beschreibung:
Mit dieser Funktion wird der String geleert und der bisher allokierte Speicher wieder freigegeben.
void ppl7::String::cut ( size_t  pos)
Beschreibung:
Der String wird an einer bestimmten Stelle einfach abgeschnitten
Parameter
posDie Position, an der der String abgeschnitten wird. Bei Angabe von 0 ist der String anschließend komplett leer. Ist pos größer als die Länge des Strings, passiert nichts.
void ppl7::String::cut ( const String letter)

Der String wird beim ersten Auftauchen eines Zeichens oder eines Strings abgeschnitten.

Parameter
[in]letterBuchstabe oder Buchstabenkombination, an der der String abgeschnitten werden soll. Zeigt der Pointer auf NULL oder ist der String leer, passiert nichts.
ssize_t ppl7::String::find ( const String needle,
ssize_t  start = 0 
) const

Find sucht nach dem Suchstring needle ab der gewünschten Position start.

Parameter
[in]needleGesuchter Teilstring
[in]startOptionale Startposition innerhalb des Suchstrings. Ist der Parameter 0 oder wird er weggelassen, wird der String vom Anfang an durchsucht. Ist der Wert jedoch negativ, wird rückwärts vom Ende des Strings gesucht.
Rückgabe
Liefert die Position innerhalb des Strings, an der der Suchstring gefunden wurde oder -1 wenn er nicht gefunden wurde. Ist needle ein leerer String, liefert die Funktion immer 0 zurück.
ssize_t ppl7::String::findCase ( const String needle,
ssize_t  start = 0 
) const
Beschreibung:
Diese Funktion sucht innerhalb des aktuellen String nach needle ab der gewünschten Position start. Gross-/Kleinschreibung wird dabei ignoriert.
Parameter
[in]needleGesuchter Teilstring
[in]startOptionale Startposition innerhalb des Suchstrings. Ist der Parameter 0 oder wird er weggelassen, wird der String vom Anfang an durchsucht. Ist der Wert jedoch negativ, wird rückwärts vom Ende des Strings gesucht.
Rückgabe
Liefert die Position innerhalb des Strings, an der der Suchstring gefunden wurde oder -1 wenn er nicht gefunden wurde. Ist needle ein leerer String, liefert die Funktion immer 0 zurück.
String & ppl7::String::fromUCS4 ( const ppluint32 *  str,
size_t  size = (size_t)-1 
)
String & ppl7::String::fromUCS4 ( const ByteArrayPtr bin)
char ppl7::String::get ( ssize_t  pos) const
Beschreibung:
Mit dieser Funktion kann Bytewert eines einzelnen Zeichens an der Position pos ausgelesen werden. Enthält pos einen positiven Wert, wird die Position des Zeichens vom Anfang des Strings ermittelt, wobei 0 dem ersten Zeichen entspricht. Ist der Wert negativ, wird das Zeichen vom Ende des Strings ermittelt, wobei -1 dem letzten Zeichen des Strings entspricht.
Parameter
posPosition des Zeichens innerhalb des Strings
Rückgabe
Bytewert des Zeichens
Ausnahmebehandlung
OutOfBoundsEceptionWird geworfen, wenn die angegebene Position pos ausserhalb des Strings liegt oder der String leer ist.
const char * ppl7::String::getGlobalEncoding ( )
static
const char * ppl7::String::getPtr ( ) const
Beschreibung:
Diese Funktion liefert einen Pointer im Format "const char*" auf den internen C-String der Klasse zurück. Falls der String leer ist, wird ein Pointer auf einen leeren String zurückgegeben. Das Ergebnis kann in printf und verwandten Funktionen mit dem Formatstring "%s" verwendet werden.
Rückgabe
Pointer auf den internen C-String der Klasse
Beispiel:
void PrintString(const ppl7::String &text)
{
printf ("Der String lautet: %s\n",text.getPtr());
// oder mittels Operator:
printf ("Der String lautet: %s\n",(const char*)text);
}
Siehe auch
Die folgenden Funktionen erfüllen den gleichen Zweck:
bool ppl7::String::has ( const String needle,
bool  ignoreCase = false 
) const
void ppl7::String::hexDump ( ) const
Beschreibung:
Mit dieser zu Debug-Zwecken gedachten Funktion wird der Inhalt des Strings als HexDump auf der Konsole ausgegeben.
ssize_t ppl7::String::instr ( const String needle,
size_t  start = 0 
) const
Beschreibung:
Diese Funktion sucht nach dem Suchstring needle ab der gewünschten Position start.
Parameter
[in]needleGesuchter Teilstring
[in]startOptionale Startposition innerhalb des Suchstrings. Ist der Parameter 0 oder nicht angegeben, wird der String vom Anfang an gesucht.
Rückgabe
Liefert die Position innerhalb des Strings, an der der Suchstring gefunden wurde oder -1 wenn er nicht gefunden wurde. Ist needle ein leerer String, liefert die Funktion immer 0 zurück.
ssize_t ppl7::String::instrCase ( const String needle,
size_t  start = 0 
) const
Beschreibung:
Diese Funktion sucht nach dem Suchstring needle ab der gewünschten Position start. Gross-/Kleinschreibung wird dabei ignoriert.
Parameter
[in]needleGesuchter Teilstring
[in]startOptionale Startposition innerhalb des Suchstrings. Ist der Parameter 0 oder nicht angegeben, wird der String vom Anfang an gesucht.
Rückgabe
Liefert die Position innerhalb des Strings, an der der Suchstring gefunden wurde oder -1 wenn er nicht gefunden wurde. Ist needle ein leerer String, liefert die Funktion immer 0 zurück.
bool ppl7::String::isEmpty ( ) const
Beschreibung:
Diese Funktion prüft, ob der String leer ist.
Rückgabe
Ist der String leer, liefert die Funktion true zurück, sonst false.
Siehe auch
String::notEmpty
bool ppl7::String::isFalse ( ) const

Diese Funktion überprüft den aktuellen String, ob er "unwahr" ist. Dies ist der Fall, wenn eine der folgenden Bedingungen erfüllt ist:

  • Der String zeigt auf NULL
  • Die Länge des Strings ist 0
  • Der String enthält die Ziffer 0
  • Der String enthält nicht das Wort "true", "wahr", "yes" oder "ja" (Gross-/Kleinschreibung egal)
Rückgabe
Liefert true (1) zurück, wenn der String "unwahr" ist, sonst false (0). Ein Fehlercode wird nicht gesetzt
Siehe auch
CWString::IsTrue()
bool ppl7::String::isInteger ( ) const
Beschreibung:
Diese Funktion prüft, ob im String einen integer Wert enthält, also nur die Ziffern 0-9 und optional ein Minus am Anfang enthalten sind
Rückgabe
Ist der String ein Integer, wird 1 zurückgegeben. Ist er es nicht oder ist der String leer, wird 0 zurückgegeben.
bool ppl7::String::isNumeric ( ) const
Beschreibung:
Diese Funktion prüft, ob im String nur nummerische Zeichen vorhanden sind, also die Ziffern 0-9, Punkt, Komma und Minus.
Rückgabe
Ist der String nummerisch, wird 1 zurückgegeben. Ist er es nicht oder ist der String leer, wird 0 zurückgegeben.
bool ppl7::String::isTrue ( ) const

Diese Funktion überprüft den aktuellen String, ob er "wahr" ist. Dies ist der Fall, wenn eine der folgenden Bedingungen erfüllt ist:

  • Der String enthält eine Ziffer ungleich 0
  • Der String enthält das Wort "true" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "wahr" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "yes" (Gross- oder Kleingeschrieben)
  • Der String enthält das Wort "ja" (Gross- oder Kleingeschrieben)
Rückgabe
Liefert true (1) zurück, wenn der String "wahr" ist, sonst false (0). Ein Fehlercode wird nicht gesetzt
Siehe auch
CWString::IsFalse()
String ppl7::String::left ( size_t  len) const
Beschreibung:
Gibt die ersten len Zeichen des Strings als neuen zurück.
Parameter
lenLänge des Teilstrings
Rückgabe
Neuer String
size_t ppl7::String::len ( ) const
Beschreibung:
Diese Funktion gibt die Anzahl Zeichen zurück, aus denen der String besteht.
Zu beachten
Die Funktionen String::len, String::length und String::size sind identisch.
Siehe auch
String::capacity
Rückgabe
Anzahl Zeichen
size_t ppl7::String::length ( ) const
Beschreibung:
Diese Funktion gibt die Anzahl Zeichen zurück, aus denen der String besteht.
Zu beachten
Die Funktionen String::len, String::length und String::size sind identisch.
Siehe auch
String::capacity
Rückgabe
Anzahl Zeichen
void ppl7::String::lowerCase ( )
Beschreibung:
Diese Funktion wandelt alle Zeichen des Strings in Kleinbuchstaben um. Die genaue Funktionsweise hängt davon ab, welche Spracheinstellungen aktiv sind, genauer vom Wert "LC_CTYPE".
Achtung
Unter UNIX (und möglicherweise anderen Betriebssystemen) werden die Lokalisationseinstellungen der Umgebung nicht automatisch übernommen, sondern stehen standardmäßig auf "C". Dadurch werden nur US-ASCII (ASCII 32 bis 127) umgewandelt. Man sollte daher bei Programmstart mit "setlocale" die gewünschte Spracheinstellung vornehmen.
Beispiel:
#include <locale.h>
...
// Lokalisierung explizit setzen
setlocale(LC_CTYPE,"de_DE.UTF-8");
// oder Lokalisierung von den Systemeinstellungen übernehmen
setlocale(LC_CTYPE,"");
String ppl7::String::md5 ( ) const

Diese Funktion berechnet die MD5-Summe des Strings und gibt diese als Hexadezimalwert in einem String zurück.

Rückgabe
Die Funktion liefert ein String-Objekt zurück. Bei Erfolg enthält dieses die MD5-Summe, im Fehlerfall wird eine Exception geworfen. Ein Fehler kann auftreten, wenn die Klasse keine Daten enthalten hat oder bei der Berechnung der MD5-Summe ein Fehler aufgetreten ist.
String ppl7::String::mid ( size_t  start,
size_t  len = (size_t)-1 
) const
Beschreibung:
Gibt len Zeichen des Strings, beginnend ab Position start als neuen String zurück.
Parameter
startStartposition
lenOptionale Länge des Teilstrings. Ist der Parameter nicht angegeben, wird der komplette String ab Position start zurückgegeben.
Rückgabe
Neuer String
bool ppl7::String::notEmpty ( ) const
Beschreibung:
Diese Funktion prüft, ob der String Zeichen enthält.
Rückgabe
Enthält der String Zeichen, liefert die Funktion true zurück, sonst false.
Siehe auch
String::isEmpty
ppl7::String::operator bool ( ) const
ppl7::String::operator const char * ( ) const
Beschreibung:
Diese Funktion liefert einen Pointer im Format "const char*" auf den internen C-String der Klasse zurück. Falls der String leer ist, wird ein Pointer auf einen leeren String zurückgegeben. Das Ergebnis kann in printf und verwandten Funktionen mit dem Formatstring "%s" verwendet werden.
Rückgabe
Pointer auf den internen C-String der Klasse
Beispiel:
void PrintString(const ppl7::String &text)
{
printf ("Der String lautet: %s\n",text.getPtr());
// oder mittels Operator:
printf ("Der String lautet: %s\n",(const char*)text);
}
Siehe auch
Die folgenden Funktionen erfüllen den gleichen Zweck:
ppl7::String::operator const unsigned char * ( ) const
Beschreibung:
Diese Funktion liefert einen Pointer im Format "const char*" auf den internen C-String der Klasse zurück. Falls der String leer ist, wird ein Pointer auf einen leeren String zurückgegeben. Das Ergebnis kann in printf und verwandten Funktionen mit dem Formatstring "%s" verwendet werden.
Rückgabe
Pointer auf den internen C-String der Klasse
Beispiel:
void PrintString(const ppl7::String &text)
{
printf ("Der String lautet: %s\n",text.getPtr());
// oder mittels Operator:
printf ("Der String lautet: %s\n",(const char*)text);
}
Siehe auch
Die folgenden Funktionen erfüllen den gleichen Zweck:
ppl7::String::operator double ( ) const
ppl7::String::operator float ( ) const
ppl7::String::operator int ( ) const
ppl7::String::operator long ( ) const
ppl7::String::operator long long ( ) const
ppl7::String::operator std::string ( ) const
ppl7::String::operator std::wstring ( ) const
ppl7::String::operator unsigned int ( ) const
ppl7::String::operator unsigned long ( ) const
ppl7::String::operator unsigned long long ( ) const
bool ppl7::String::operator!= ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters nicht dem des rechten entspricht.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator!= ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters nicht dem des rechten entspricht.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
String & ppl7::String::operator+= ( const char *  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator+= ( const wchar_t *  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator+= ( const String str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator+= ( const std::string &  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator+= ( const std::wstring &  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator+= ( char  c)
Beschreibung:
Mit diesem Operator wird das angegebene Zeichen c an den bisher vorhandenen String angehangen. Der Operator ist identisch mit der Funktion String::append.
Parameter
[in]cUnicode-Wert des anzuhängenden Zeichens
Rückgabe
Referenz auf diese Instanz der Klasse
bool ppl7::String::operator< ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters kleiner dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator< ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters kleiner dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator<= ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters kleiner oder gleich dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator<= ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters kleiner oder gleich dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
String & ppl7::String::operator= ( const char *  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( const wchar_t *  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( const String str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( const String str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( const std::string &  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( const std::wstring &  str)
Beschreibung:
Mit diesem Operator wird der Angegebene String str kopiert. Der Operator ist identisch mit der Funktion String::set
Parameter
[in]strZu kopierender String
Rückgabe
Referenz auf diese Instanz der Klasse
String & ppl7::String::operator= ( char  c)
Beschreibung:
Mit diesem Operator wird ein einzelnes Zeichen in den String kopiert.
Parameter
[in]cUnicode Wert des zu übernehmenden Zeichens
Rückgabe
Referenz auf diese Instanz der Klasse
bool ppl7::String::operator== ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters mit dem des rechten identisch ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator== ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters mit dem des rechten identisch ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator> ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters größer dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator> ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters größer dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator>= ( const String str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters größer oder gleich dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
bool ppl7::String::operator>= ( const char *  str) const
Beschreibung:
Dieser Operator liefert true zurück, wenn der Wert des linken Parameters größer oder gleich dem des rechten ist.
Parameter
strZu vergleichender String
Rückgabe
Liefert true oder false zurück
char ppl7::String::operator[] ( ssize_t  pos) const
Beschreibung:
Mit diesem Operator kann der Bytewert eines einzelnen Zeichens an der Position pos ausgelesen werden. Enthält pos einen positiven Wert, wird die Position des Zeichens vom Anfang des Strings ermittelt, wobei 0 dem ersten Zeichen entspricht. Ist der Wert negativ, wird das Zeichen vom Ende des Strings ermittelt, wobei -1 dem letzten Zeichen des Strings entspricht.
Parameter
posPosition des Zeichens innerhalb des Strings
Rückgabe
Bytewert des Zeichens
Ausnahmebehandlung
OutOfBoundsEceptionWird geworfen, wenn die angegebene Position pos ausserhalb des Strings liegt oder der String leer ist.
String & ppl7::String::pregEscape ( )
Beschreibung:
Der Befehl scannt den String nach Zeichen mit besonderer Bedeutung in einer Perl-Regular-Expression und escaped diese mit einem Slash. Das Ergebnis kann dann in einer Regular Expression verwendet werden.

Folgende Zeichen werden escaped: - + \ * /

bool ppl7::String::pregMatch ( const String expression) const

Durchsucht den String anhand einer Perl-Expression

Parameter
[in]expressionIst eine Perl-kompatible Regular Expression, die mit Slash (/) beginnt und endet. Optional können nach dem schließenden Slash folgende Optionen angegeben werden:
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Bemerkungen
    Der String wird intern zuerst nach UTF-8 kodiert, bevor die pcre-Funktionen aufgerufen werden.
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
bool ppl7::String::pregMatch ( const String expression,
Array matches,
size_t  maxmatches = 16 
) const

Durchsucht den String anhand einer Perl-Expression

Parameter
[in]expressionIst eine Perl-kompatible Regular Expression, die mit Slash (/) beginnt und endet. Optional können nach dem schließenden Slash folgende Optionen angegeben werden:
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    [out]matchesArray, dass die zu kopierenden Werte aufnimmt.
    [in]maxmatchesOptionaler Parameter, der die maximale Anzahl zu kopierender Werte aufnimmt (Default=16).
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Bemerkungen
    Der String wird intern zuerst nach UTF-8 kodiert, bevor die pcre-Funktionen aufgerufen werden.
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
String & ppl7::String::pregReplace ( const String expression,
const String replacement,
int  max = 0 
)
Parameter
expris a perl compatible regular expression, starting and ending with slash (/).
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    replaceist ein Pointer auf eine Stringklasse, die den Text enthält, der anstelle des Matches eingesetzt wird. Werden in der Expression Klammern zum capturen verwendet, können diese Werte mit $1 bis $9 im Replace-String verwendet werden.
    maxreplaceist optional. Wenn vorhanden, werden nur soviele Matches ersetzt, wi mit maxreplace angegeben. Wurden zum Beispiel 10 Matches gefunden, aber maxreplace wurde mit 5 angegeben, werden nur die ersten 5 Matches ersetzt.
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
String & ppl7::String::prepend ( const char *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen C-String am Anfang des bestehenden Strings ein
Parameter
[in]strPointer auf einen C-String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen String am Anfang des bestehenden Strings ein
Parameter
[in]strPointer auf einen String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen String am Anfang des bestehenden Strings ein
Parameter
[in]strReferenz auf einen String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( const std::string &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen std::string der Standard Template Library am Anfang des bestehenden Strings ein
Parameter
[in]strReferenz auf einen std::string
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( const std::wstring &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen std::wstring der Standard Template Library am Anfang des bestehenden Strings ein
Parameter
[in]strReferenz auf einen std::wstring
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( const wchar_t *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Fügt einen Wide-Character String am Anfang des bestehenden Strings ein
Parameter
[in]strPointer auf einen Wide-Character String
[in]sizeOptional die Anzahl Zeichen (nicht Bytes) im String, die kopiert werden sollen.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::prepend ( char  c)
Beschreibung:
Ein einzelnes ASCII-Zeichen c wird in am Anfang des Strings eingefügt. Die nachfolgenden Zeichen des Strings verschieben sich nach rechts.
Parameter
cASCII-Wert des gewünschten Zeichens
Rückgabe
Referenz auf den String
String & ppl7::String::prependf ( const char *  fmt,
  ... 
)

Anhand des übergebenen Formatstrings fmt und den optionalen Parametern ... wird ein neuer String gebildet, der am Anfang des bestehenden eingehangen wird.

Parameter
fmtDer Formatstring
...Optionale Parameter
Example:
int main(int argc, char **argv)
{
s="Vielen Dank!\n";
s.prependf ("Es wurden %i Parameter übergeben. ",argc);
s.printnl();
return 0;
}
void ppl7::String::print ( bool  withNewline = false) const
throw (
)

Diese Funktion gibt den aktuellen String auf STDOUT aus. Dazu ist es notwendig den String vom internen Unicode-Format in das Encoding des Betriebssystems umzurechnen. Da dieses von den lokalen Einstellungen des Betriebssystems und des Users abhängig ist, wird die Environment-Variable "LANG" ausgewertet. Ist diese nicht gesetzt oder enthält ein unbekanntes Encoding, wird der String immer in UTF-8 ausgegeben.

Parameter
withNewlineEin optionaler Parameter, der angibt, ob nach der Ausgabe ein Zeilenumbruch angehangen werden soll (default=false)
Exceptions:
Keine
void ppl7::String::printnl ( ) const
throw (
)

Diese Funktion gibt den aktuellen String mit abschließendem Zeilenumbruch auf STDOUT aus. Dazu ist es notwendig den String vom internen Unicode-Format in das Encoding des Betriebssystems umzurechnen. Da dieses von den lokalen Einstellungen des Betriebssystems und des Users abhängig ist, wird die Environment-Variable "LANG" ausgewertet. Ist diese nicht gesetzt oder enthält ein unbekanntes Encoding, wird der String immer in UTF-8 ausgegeben.

Exceptions:
Keine
String & ppl7::String::repeat ( size_t  num)
Beschreibung:
Mit dieser Funktion wird der Inhalt des Strings mehrfach wiederholt.
Parameter
numAnzahl Wiederholungen. Falls num 0 ist, ist der String anschließend leer.
Rückgabe
Referenz auf den verlängerten String.
String & ppl7::String::repeat ( char  code,
size_t  num 
)

Der String wird mit einem gewünschten Zeichen gefüllt

Parameter
unicodeDer Unicode des Zeichens, mit dem der String gefüllt werden soll
numDie Länge des gewünschten Strings
Rückgabe
Referenz auf den neuen String
String & ppl7::String::repeat ( const String str,
size_t  num 
)
Beschreibung:
Mit dieser Funktion wird der übergebene String str num mal wiederholt und das Ergebnis in diesem String gespeichert.
Parameter
strDer zu wiederholende String
numAnzahl wiederholungen
Rückgabe
Referenz auf den String
String ppl7::String::repeated ( size_t  count) const
Beschreibung:
Der aktuelle String wird count mal hintereinander wiederholt und als neuer String zurückgegeben.
Parameter
[in]countAnzahl wiederholungen
Rückgabe
Neuer String
Ausnahmebehandlung
OutOfMemoryExceptionTritt auf, wenn kein Speicher mehr verfügbar ist.
String & ppl7::String::replace ( const String search,
const String replacement 
)
void ppl7::String::reserve ( size_t  size)
Beschreibung:
Mit dieser Funktion kann vor Verwendung des Strings vorgegeben werden, wieviel Speicher initial reserviert werden soll. Dies ist insbesondere dann sinnvoll, wenn der String während seiner Lebenszeit häufig verlängert wird.
Parameter
[in]sizeAnzahl Zeichen, für die Speicher reserviert werden soll.
Zu beachten
Enthält der String bereits Zeichen, gehen diese nicht verloren, der existierende Speicherbereich kann aber zwecks Vergrößerung umkopiert werden. Der Aufruf der Funktion String::clear führt dazu, dass der Speicher wieder freigegeben wird.
String ppl7::String::right ( size_t  len) const
Beschreibung:
Gibt die letzten len Zeichen des Strings als neuen zurück.
Parameter
lenLänge des Teilstrings
Rückgabe
Neuer String
String & ppl7::String::set ( const char *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der String anhand eines char * gesetzt. Dabei wird er intern nach Unicode konvertiert.
Parameter
strPointer auf einen String
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
UnsupportedFeatureException
UnsupportedCharacterEncodingException
CharacterEncodingException
Zu beachten
Multibyte-Characters zählen als ein Zeichen.
String & ppl7::String::set ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der String anhand des Pointers str eines anderen Strings gesetzt.
Parameter
strPointer auf einen String
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::set ( const String str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der Inhalt des Strings str übernommen.
Parameter
strReferenz auf einen anderen String
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::set ( const WideString str,
size_t  size = (size_t)-1 
)
String & ppl7::String::set ( const WideString str,
size_t  size = (size_t)-1 
)
String & ppl7::String::set ( const std::string &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der Inhalt des STL-Strings str übernommen.
Parameter
strReferenz auf einen String der Standard Template Library (STL)
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::set ( const std::wstring &  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der Inhalt des STL-Wide-Strings str übernommen.
Parameter
strReferenz auf einen Wide-String der Standard Template Library (STL)
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::set ( const wchar_t *  str,
size_t  size = (size_t)-1 
)
Beschreibung:
Mit dieser Funktion wird der String anhand eines wchar_t * gesetzt.
Parameter
strPointer auf einen String
sizeOptionaler Parameter, der die Anzahl zu importierender Zeichen angibt. Ist der Wert nicht angegeben, wird der komplette String übernommen. Ist der Wert größer als der angegebene String, wird er ignoriert und der komplette String importiert.
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfMemoryException
String & ppl7::String::set ( char  c)
Beschreibung:
Ein einzelnes ASCII-Zeichen c wird in den String übernommen.
Parameter
cASCII-Wert des gewünschten Zeichens
Rückgabe
Referenz auf den String
String & ppl7::String::set ( size_t  position,
char  c 
)
Beschreibung:
Mit dieser Funktion wird ein einzelnes Zeichen eines Strings an der Position position durch das Zeichen c ersetzt.
Parameter
positionPosition innerhalb des Strings (Zählung beginnt bei 0)
cUnicode-Wert, der gesetzt werden soll
Rückgabe
Referenz auf den String
Ausnahmebehandlung
OutOfBoundsEceptionWird geworfen, wenn position größer ist, als die Länge des Strings
String & ppl7::String::setf ( const char *  fmt,
  ... 
)
Beschreibung:
Erzeugt einen String anhand des übergebenen Formatstrings fmt und den optionalen Parametern ...
Parameter
fmtDer Formatstring
...Optionale Parameter
Rückgabe
Referenz auf den String
Example:
int main(int argc, char **argv)
{
s.setf ("Anzahl Parameter: %i\n",argc);
s.printnl();
return 0;
}
void ppl7::String::setGlobalEncoding ( const char *  encoding)
static

Standardmäßig erwartet die String-Klasse bei Übergabe von "const char *", dass die darin enthaltenen Strings UTF-8 kodiert sind. Dieses Verhalten kann man mit dieser Funktion ändern.

Parameter
encoding
Achtung
Die Funktion ist nicht Thread-sicher und sollte daher nur einmal am Anfang des Programms aufgerufen werden.
size_t ppl7::String::size ( ) const
Beschreibung:
Diese Funktion gibt die Anzahl Zeichen zurück, aus denen der String besteht.
Zu beachten
Die Funktionen String::len, String::length und String::size sind identisch.
Siehe auch
String::capacity
Rückgabe
Anzahl Zeichen
int ppl7::String::strCaseCmp ( const String str,
size_t  size = (size_t)-1 
) const
Beschreibung:
Führt einen Vergleich mit einem anderen String durch, unter Ignorierung der Gross-/Kleinschreibung.
Parameter
strString, mit dem verglichen werden soll
sizeOptionaler Parameter, der die Anzahl zu berücksichtigender Zeichen innerhalb des Strings str angibt. Wird er nicht angegeben, wird ein vergleich mit dem kompletten String str durchgeführt.
Rückgabe
Ist der String innerhalb dieses Objekts kleiner als der mit str angegebene, wird ein negativer Wert zurückgegeben, ist er größer, erfolgt ein positiver Return-Wert, sind beide identisch, wird 0 zurückgegeben.
Siehe auch
strcmp Vergleich zweier Strings unter Berücksichtigung der Gross-/Kleinschreibung
int ppl7::String::strCaseCmp ( const char *  str,
size_t  size = (size_t)-1 
) const
String ppl7::String::strchr ( char  c) const
int ppl7::String::strcmp ( const String str,
size_t  size = (size_t)-1 
) const
Beschreibung:
Führt einen Vergleich mit einem anderen String durch.
Parameter
strString, mit dem verglichen werden soll
sizeOptionaler Parameter, der die Anzahl zu berücksichtigender Zeichen innerhalb des Strings str angibt. Wird er nicht angegeben, wird ein vergleich mit dem kompletten String str durchgeführt.
Rückgabe
Ist der String innerhalb dieses Objekts kleiner als der mit str angegebene, wird ein negativer Wert zurückgegeben, ist er größer, erfolgt ein positiver Return-Wert, sind beide identisch, wird 0 zurückgegeben.
Siehe auch
strCaseCmp Vergleich zweier Strings unter Ignorierung der Gross-/Kleinschreibung
int ppl7::String::strcmp ( const char *  str,
size_t  size = (size_t)-1 
) const
String & ppl7::String::stripSlashes ( )
String ppl7::String::strrchr ( char  c) const
String ppl7::String::strstr ( const String needle) const
Beschreibung:
Diese Funktion findet die erste Position der Zeichenfolge needle innerhalb des Strings. Abschließende `\0'-Zeichen werden nicht miteinander verglichen.
Parameter
needle
Rückgabe
Die Funktion gibt einen String zurück, der mit der gefundenen Zeichenkette beginnt und den Rest des Strings bis zum Ende enthält. Wurde die Zeichenkette nicht gefunden, wird ein leerer String zurückgegeben.
Zu beachten
Ein Sonderfall besteht, wenn needle leer ist. In diesem Fall wird der komplette String zurückgegeben.
String ppl7::String::substr ( size_t  start,
size_t  len = (size_t)-1 
) const
Beschreibung:
Gibt len Zeichen des Strings, beginnend ab Position start als neuen String zurück.
Parameter
startStartposition
lenOptionale Länge des Teilstrings. Ist der Parameter nicht angegeben, wird der komplette String ab Position start zurückgegeben.
Rückgabe
Neuer String
bool ppl7::String::toBool ( ) const
const char * ppl7::String::toChar ( ) const
Beschreibung:
Diese Funktion liefert einen Pointer im Format "const char*" auf den internen C-String der Klasse zurück. Falls der String leer ist, wird ein Pointer auf einen leeren String zurückgegeben. Das Ergebnis kann in printf und verwandten Funktionen mit dem Formatstring "%s" verwendet werden.
Rückgabe
Pointer auf den internen C-String der Klasse
Beispiel:
void PrintString(const ppl7::String &text)
{
printf ("Der String lautet: %s\n",text.getPtr());
// oder mittels Operator:
printf ("Der String lautet: %s\n",(const char*)text);
}
Siehe auch
Die folgenden Funktionen erfüllen den gleichen Zweck:
double ppl7::String::toDouble ( ) const
ByteArray ppl7::String::toEncoding ( const char *  encoding) const
Beschreibung:
Mit dieser Funktion wird der Inhalt des Strings in eine beliebige lokale Kodierung umgewandelt und als ByteArray zurückgegeben.
Parameter
[in]encodingDas gewünschte Encoding
Rückgabe
ByteArray mit der UTF8-Repräsentation des Strings.
Achtung
Für diese Funktion wird "Iconv" benötigt. Ist keine Iconv-Bibliothek auf dem System vorhanden, wird eine UnsupportedFeatureException geworfen.
float ppl7::String::toFloat ( ) const
int ppl7::String::toInt ( ) const
pplint64 ppl7::String::toInt64 ( ) const
long ppl7::String::toLong ( ) const
long long ppl7::String::toLongLong ( ) const
String ppl7::String::toLowerCase ( ) const
ByteArray ppl7::String::toUCS4 ( ) const
unsigned int ppl7::String::toUnsignedInt ( ) const
ppluint64 ppl7::String::toUnsignedInt64 ( ) const
unsigned long ppl7::String::toUnsignedLong ( ) const
unsigned long long ppl7::String::toUnsignedLongLong ( ) const
String ppl7::String::toUpperCase ( ) const
String ppl7::String::toUpperCaseWords ( ) const
ByteArray ppl7::String::toUtf8 ( ) const

/brief Diese Funktion liefert den String immer UTF-8 kodiert zurück

Beschreibung:
Diese Funktion liefert den String immer UTF-8 kodiert zurück, unabhängig davon, welche Kodierung das System verwendet.
Rückgabe
WideString ppl7::String::toWideString ( ) const
void ppl7::String::trim ( )
void ppl7::String::trim ( const String chars)
void ppl7::String::trimLeft ( )
void ppl7::String::trimLeft ( const String chars)
String ppl7::String::trimmed ( ) const
Beschreibung:
Es wird eine Kopie des Strings angelegt und bei dieser alle Leerzeichen, Tabs, Returns und Linefeeds am Anfang und Ende des Strings abgeschnitten. Das Ergebnis wird als Returnwert zurückgegeben. Der Original-String bleibt unverändert.
void ppl7::String::trimRight ( )
void ppl7::String::trimRight ( const String chars)
void ppl7::String::upperCase ( )
Beschreibung:
Diese Funktion wandelt alle Zeichen des Strings in Großbuchstaben um. Die genaue Funktionsweise hängt davon ab, welche Spracheinstellungen aktiv sind, genauer vom Wert "LC_CTYPE".
Achtung
Unter UNIX (und möglicherweise anderen Betriebssystemen) werden die Lokalisationseinstellungen der Umgebung nicht automatisch übernommen, sondern stehen standardmäßig auf "C". Dadurch werden nur US-ASCII (ASCII 32 bis 127) umgewandelt. Man sollte daher nach Programmstart mit "setlocale" die gewünschte Spracheinstellung vornehmen.
Beispiel:
#include <locale.h>
...
setlocale(LC_CTYPE,"de_DE.UTF-8");
void ppl7::String::upperCaseWords ( )
Beschreibung:
Diese Funktion wandelt die Anfangsbuchstaben aller im String enthaltenen Wörter in Großbuchstaben um.
String & ppl7::String::vasprintf ( const char *  fmt,
va_list  args 
)

Erzeugt einen String anhand des übergebenen Formatstrings fmt und den optionalen Parametern in args.

Parameter
fmtDer Formatstring
argsPointer auf Liste der Parameter. Muss zuvor mit va_start initialisiert worden sein.
Rückgabe
Referenz auf den String
Example:
void MyFunction(const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
s.vasprintf(fmt,args);
va_end(args);
printf ("Ergebnis: %s",(const char*)s);
}

Freundbeziehungen und Funktionsdokumentation

ssize_t Instr ( const char *  haystack,
const char *  needle,
size_t  start 
)
related
ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
ssize_t Instr ( const wchar_t *  haystack,
const wchar_t *  needle,
size_t  start 
)
related

Sucht nach Zeichen in einem String.

ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
ssize_t Instr ( const String haystack,
const String needle,
size_t  start 
)
related

Sucht nach Zeichen in einem String.

ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
ssize_t Instrcase ( const char *  haystack,
const char *  needle,
size_t  start 
)
related

Sucht nach Zeichen in einem String.

ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
ssize_t Instrcase ( const wchar_t *  haystack,
const wchar_t *  needle,
size_t  start 
)
related

Sucht nach Zeichen in einem String.

ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
ssize_t InstrCase ( const String haystack,
const String needle,
size_t  start 
)
related

Sucht nach Zeichen in einem String.

ssize_t Instr (const char * haystack, const char * needle, size_t start);
ssize_t Instr (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instr (const String &haystack, const String &needle, size_t start);
ssize_t Instrcase (const char * haystack, const char * needle, size_t start);
ssize_t Instrcase (const wchar_t * haystack, const wchar_t * needle, size_t start);
ssize_t Instrcase (const String &haystack, const String &needle, size_t start);
Beschreibung:
Diese Funktionen suchen nach einer Zeichenkette innerhalb eines Strings, wobei die Funktion Instr zwischen Gross- und Kleinschreibung unterschiedet, und die Funktion Instrcase nicht.
Parameter
haystackist ein Pointer auf einen Null-terminierten String, der den zu durchsuchenden String enthält.
needleist ein Pointer auf einen Null-terminierten String, der den zu suchenden String enthält.
startist ein optionaler Parameter, der die Startposition innerhalb des Suchstrings angibt. Der Default ist 0, das heißt der String wurd vom Anfang an durchsucht.
Rückgabe
Wird der String needle gefunden, wird seine Position zurückgegeben. Befindet sich der String gleich an erster Stelle des Suchstrings, wird 0 zurückgegeben. Wird der String nicht gefunden, wird -1 zurückgegeben.
WideString operator+ ( const WideString str1,
const WideString str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const char *  str1,
const WideString str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const WideString str1,
const char *  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const wchar_t *  str1,
const WideString str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const WideString str1,
const wchar_t *  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const std::string &  str1,
const WideString str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const WideString str1,
const std::string &  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const std::wstring &  str1,
const WideString str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const String str1,
const String str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
WideString operator+ ( const WideString str1,
const std::wstring &  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const char *  str1,
const String str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const String str1,
const char *  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const wchar_t *  str1,
const String str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const String str1,
const wchar_t *  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const std::string &  str1,
const String str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const String str1,
const std::string &  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const std::wstring &  str1,
const String str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
String operator+ ( const String str1,
const std::wstring &  str2 
)
related
Beschreibung:
Zwei Strings werden zu einem neuen String zusammengefügt.
Parameter
[in]str1Erster String
[in]str2Zweiter String
Rückgabe
Neuer String
bool PregMatch ( const String expression,
const String subject 
)
related
Beschreibung:
Durchsucht den String subject anhand der Perl-Expression expression und gibt true zurück, wenn die Expression auf den String matched.
Parameter
[in]expressionIst eine Perl-kompatible Regular Expression, die mit Slash (/) beginnt und endet. Optional können nach dem schließenden Slash folgende Optionen angegeben werden:
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    [in]subjectDer String, auf den die Regular Expression angewendet werden soll
    Rückgabe
    Liefert true zurück, wenn ein Match gefunden wurde, ansonsten false
    Bemerkungen
    Der String wird intern zuerst nach UTF-8 kodiert, bevor die pcre-Funktionen aufgerufen werden.
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
bool PregMatch ( const String expression,
const String subject,
Array matches,
size_t  maxmatches 
)
related
Beschreibung:
Durchsucht den String anhand einer Perl-Expression und liefert die die zu kopierenden Werte (Capture) in einem Array zurück.
Parameter
[in]expressionIst eine Perl-kompatible Regular Expression, die mit Slash (/) beginnt und endet. Optional können nach dem schließenden Slash folgende Optionen angegeben werden:
  • i caseless
    If this bit is set, letters in the pattern match both upper and lower case letters. It is equivalent to Perl's /i option, and it can be changed within a pattern by a (?i) option setting. In UTF-8 mode, PCRE always understands the concept of case for characters whose values are less than 128, so caseless matching is always possible. For characters with higher values, the concept of case is supported if PCRE is compiled with Unicode property support, but not otherwise. If you want to use caseless matching for characters 128 and above, you must ensure that PCRE is compiled with Unicode property support as well as with UTF-8 support.
  • m multiline
    By default, PCRE treats the subject string as consisting of a single line of characters (even if it actually contains newlines). The "start of line" metacharacter (^) matches only at the start of the string, while the "end of line" metacharacter ($) matches only at the end of the string, or before a terminating newline. This is the same as Perl. When "m" it is set, the "start of line" and "end of line" constructs match immediately following or immediately before any newline in the subject string, respectively, as well as at the very start and end. This is equivalent to Perl's /m option, and it can be changed within a pattern by a (?m) option setting. If there are no "\n" characters in a subject string, or no occurrences of ^ or $ in a pattern, setting "m" has no effect.
  • x extended
    If this is set, whitespace data characters in the pattern are totally ignored except when escaped or inside a character class. Whitespace does not include the VT character (code 11). In addition, characters between an unescaped # outside a character class and the next newline character, inclusive, are also ignored.
  • s dotall
    If this bit is set, a dot metacharater in the pattern matches all characters, including newlines. Without it, newlines are excluded. This option is equivalent to Perl's /s option, and it can be changed within a pattern by a (?s) option setting. A negative class such as [^a] always matches a newline character, independent of the setting of this option.
  • 8 UTF8
    This option causes PregMatch to regard both the pattern and the subject as strings of UTF-8 characters instead of single-byte character strings. However, it is available only when PCRE is built to include UTF-8 support. If not, the use of this option provokes an error. Details of how this option changes the behaviour of PCRE are given in the section on UTF-8 support in the main pcre page.
  • a anchored
    If this bit is set, the pattern is forced to be "anchored", that is, it is constrained to match only at the first matching point in the string that is being searched (the "subject string"). This effect can also be achieved by appropriate constructs in the pattern itself, which is the only way to do it in Perl.
  • u ungreedy
    This option inverts the "greediness" of the quantifiers so that they are not greedy by default, but become greedy if followed by "?". It is not compatible with Perl. It can also be set by a (?U) option setting within the pattern.
    Parameter
    [in]subjectDer String, auf den die Regular Expression angewendet werden soll
    [out]matchesArray, dass die zu kopierenden Werte aufnimmt.
    [in]maxmatchesOptionaler Parameter, der die maximale Anzahl zu kopierender Werte aufnimmt (Default=16).
    Rückgabe
    Liefert true(1) zurück, wenn ein Match gefunden wurde, ansonsten false(0)
    Bemerkungen
    Der String wird intern zuerst nach UTF-8 kodiert, bevor die pcre-Funktionen aufgerufen werden.
    Zu beachten
    Diese Funktion ist nur verfügbar, wenn PPL mit dem Configure-Flag –with-pcre konfiguriert und kompiliert wurde.
    Falls kein UTF-8 angegeben wird, das System auf dem das Programm läuft aber UTF-8 in LC_CTYPE konfiguriert hat, wird automatisch UTF-8 verwendet.
    Falls UTF-8 verwendet wird, der zu vergleichende String aber ungültiges UTF-8 enthält, macht die Funktion ein Fallback auf Singlebyte-Zeichen.
String Trim ( const String str)
related
Beschreibung:
Schneidet Leerzeichen, Tabs Returns und Linefeeds am Anfang und Ende des Strings ab
Parameter
strEingabe-String
Rückgabe
Neuer String

Dokumentation der Datenelemente

char* ppl7::String::ptr
private
size_t ppl7::String::s
private
size_t ppl7::String::stringlen
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: