﻿# <StringBeispiele.py>
# Zugriffe auf einzelne Zeichen:
wort='Zeichenkette'
print wort[0]	# liefert den string 'Z'
print wort[3]	# liefert den string 'c'

# Funktion aus dem Modul str
x='Test-Wort'
teilwort=x.rpartition('-')
print teilwort

# dasselbe mit "Regular Expressions" [pattern matching],
# das Modul muss man aber erst importieren:
import re
aufteilung=re.split('-',x,1)
print aufteilung

# Regular Expressions sind sehr vielseitig. Bitte nachlesen in der Hilfe!
# Nur ein Beispiel, das ausnutzt, dass der Punkt auf alles passt:
aufteilung=re.split('.',x,1)
print aufteilung
# es wird also das erste Zeichen abgetrennt.

# Will man den Punkt wirklich als Trennzeichen haben,
# muss man ihn als Sonderzeichen kennzeichnen.
# Dazu dient der backslash
dateiname='musterdaten.txt'
print re.split('\.',dateiname,1)

# alle Zeichen eines strings durch ein anderes ersetzen
def ZeichenErsetzen(wort):
    if len(wort)==0: return ''
    else:
        kopf=wort[0]
        rest=re.split('.',wort,1)
        ergebnis=ErsetzungsFunktion(kopf)+ZeichenErsetzen(rest[1])
    return ergebnis
def ErsetzungsFunktion(zeichen):
    return zeichen.upper()
print ZeichenErsetzen("Hund und Katze")

# Die hier gewaehlte ErsetzungsFunktion ist natürlich unsinnig,
# sie dient nur als Musterbeispiel.
# Das könnte man genauso direkt mit upper() machen.
neu="Hund und Katze"
print neu
print neu.upper()

