Python String (str)                              (C) 2020 T.Birnthaler OSTC GmbH
===================

Doku --> docs.python.org/3/library/stdtypes.html#str
     --> docs.python.org/3/library/stdtypes.html#string-methods

Strings in Python sind seit Python 3.0 Sequenzen von Unicode-Einzelzeichen
codiert im Format UTF-8 D.h. jedes Zeichen belegt zwischen 1-4 Byte. In Python
2.x wurden Strings noch durch Einzelbyte-Zeichen dargestellt (z.B. ISO-8859).

  "hallo welt"    # Unicode-String (in P3 automatisch)
  u"hallo welt"   # Unicode-String (in P2 notwendig, in P3 Standard)
  ""              # Leerer String

Folgende Operationen werden von Strings zusätzlich zu den allgemeinen und
immutable Sequenz-Operationen unterstützt (der String wird nie geändert,
sondern es wird immer ein Ergebnis zurückgegeben):

+-----------------------+------------------------------------------------------+
| Operation             | Bedeutung                                            |
+-----------------------+------------------------------------------------------+
| S.lower()             | Kleinschreibung                                      |
| S.upper()             | Grossschreibung                                      |
| S.swapcase()          | Gross/Kleinschreibung vertauschen                    |
| S.capitalize()        | 1. Buchstabe gross schreiben                         |
| S.title()             | Alle Worte beginnen mit Grossbuchstaben, Rest klein  |
+-----------------------+------------------------------------------------------+
| S.startswith(T,I,J)   | Beginnt mit Text T                                   |
| S.endswith(T,I,J)     | Endet mit Text T                                     |
+-----------------------+------------------------------------------------------+
| S.count(T,I,J)        | Anzahl Vorkommen von T                               |
| S.find(T,I,J)         | Von links Treffer-Index von T finden (-1 wenn nein)  |
| S.index(T,I,J)        | Wie S.find(), ValueError statt -1 falls kein Treffer |
| S.rfind(T,I,J)        | Von rechts Treffer-Index von T finden (-1 wenn nein) |
| S.rindex(T,I,J)       | Wie S.rfind(), ValueError statt -1 falls kein Treffer|
+-----------------------+------------------------------------------------------+
| S.isalnum()           | Nur Buchstaben oder Ziffern? (mind. 1)               |
| S.isalpha()           | Nur Buchstaben? (mind. 1)                            |
| S.isdigit()           | Nur Ziffern? (mind. 1)                               |
| S.islower()           | Nur Kleinbuchstaben? (mind. 1)                       |
| S.isspace()           | Nur Leerraum? (mind. 1)                              |
| S.istitle()           | Alle Worte starten mit Grossbuchstaben, Rest klein?  |
| S.isupper()           | Nur Grossbuchstaben? (mind. 1)                       |
+-----------------------+------------------------------------------------------+
| S.lstrip(C)           | Leerraum oder Zeichen C links entfernen              |
| S.rstrip(C)           | Leerraum oder Zeichen C rechts entfernen             |
| S.strip(C)            | Leerraum oder Zeichen C links + rechts entfernen     |
+-----------------------+------------------------------------------------------+
| S.center(W,C)         | Zentriert in Breite W mit Füllz. C (STD: Space)      |
| S.ljust(W,C)          | Linksbündig in Breite W mit Füllz. C (STD: Space)    |
| S.rjust(W,C)          | Rechtsbündig in Breite W mit Füllz. C (STD: Space)   |
| S.zfill(W)            | Links in Breite W mit "0" auffüllen                  |
+-----------------------+------------------------------------------------------+
| S.join(T)             | Verketten der Elemente in T getrennt durch S         |
| S.split(C,MAX)        | Teile-Liste von links anhand Trennzeichen C          |
| S.rsplit(C,MAX)       | Teile-Liste von rechts anhand Trennzeichen C         |
| S.splitlines()        | Zeilen-Liste anhand Zeilentrenner "\n"               |
+-----------------------+------------------------------------------------------+
| S.partition(C)   H,C,T| Zerlegen in Head + Tail am 1. Trenner C von links    |
| S.rpartition(C)  H,C,T| Zerlegen in Head + Tail am 1. Trenner C von rechts   |
+-----------------------+------------------------------------------------------+
| S.replace(T,R,MAX)    | T durch R ersetzen (alle oder Anzahl MAX)            |
| S.translate(T,D)      | Zeichen in D löschen + in T (256,Ordinal) übersetzen |
| S.expandtabs(W)       | Tabulatoren (Breite W) durch Leerzeichen ersetzen    |
+-----------------------+------------------------------------------------------+
| S.decode(ENC,ERR)     | Decodieren gemäß Codierung ENC                       |
| S.encode(ENC,ERR)     | Codieren gemäß Codierung ENC                         |
| S.format(...)         | Werte ... in Platzhalter {} einsetzen                |
+-----------------------+------------------------------------------------------+