PYTHON STRING FUNKTIONEN
Kurzform

.count() # count of characters in the string
		if txt.startswith('abc'):
txt = 'C:\Daten\'
if not txt.endswith('\'):	#txt+='\'
index = txt.find('search') # -1 == not found

.isalnum()
.isalpha()
.isdecimal()
.isdigit()
.isnumeric()

list=[1,2,3]
delimeter=','
txt=delimeter.join(list)
txt.ljust(20,'!')
print('Variable a: %.3f' % (a)  )
newTxt = txt.replace('abc','ABC')
index = txt.rfind('search') # -1 == not found
txt.rjust(20,'!')
.lower()

txt = 'C:\Daten\'
if not txt.startswith('C:'):	# no drive
	pass


.strip()
.upper()
string[0:5:1] # start:0 end: step   i
Detailliert

Detailliert


***** capitialize

Konvertiert den ersten Buchstaben in einen Großbuchstaben.

txt = 'hallo.'
print(  txt.capitalize()  )            Hallo.

txt = 'ällo.'
print(  txt.capitalize()  )            Ällo.

txt = 'áello.'
print(  txt.capitalize()  )            Áello


***** casefold

Konvertiert einen  String in Kleinbuchstaben.
Diese Methode ist ähnlich der lower-Methode. Sie ersetzt aber mehr Buchstaben.


***** center(length, character)

Diese Methode zentriert einen Text auf die angegebene Länge und füllt die „Leerstellen“ mit Leerzeichen oder dem übergebenen Zeichen auf.

txt = 'python'
print(  txt.center(20)  )                               python       
print(  txt.center(20,'!')  )                    !!!!!!!python!!!!!!!


***** count(string)

Gibt zurück, wir oft der Parameter im String vorkommt.

txt = 'python are my favoutite language.python forever'
print(  txt.count('python')  )                2
print(  txt.count('y')  )                    3

***** encode

Diese Methode konvertiert den String in unterschiedliche Zeichenkodierungen:

Wichtige Kodierungen:
•    ascii
•    utf7
•    utf8            (standard)
•    utf16
•    utf32
•    ansi
•    base64
•    iso-8859-1             ISO standard for Western Europe and USA
•    iso-8859-2                ISO standard for Central Europe (including Poland)
•    cp1250                    windows-1250 - Polish encoding on Windows
•    cp1251                    Russian encoding on Windows
•    cp1252                    Western European encoding on Windows
•    windows_1250            bis         windows_1258
•    latin1                        bis            latin10

Beispiele:
•    txt = 'My name is Ärmel, Hôrror, Térror and Ståle'
•    print(txt.encode(encoding='ascii', errors= 'backslashreplace'))
•    print(txt.encode(encoding='ascii', errors='ignore'))
•    print(txt.encode(encoding='ascii', errors='namereplace'))
•    print(txt.encode(encoding='ascii', errors='replace'))
•    print(txt.encode(encoding='ascii', errors='xmlcharrefreplace'))

Ergebnis:
•    b'My name is \xc4rmel, H\xf4rror, T\xe9rror and St\xe5le'
•    b'My name is rmel, Hrror, Trror and Stle'
•    b'My name is \N{LATIN CAPITAL LETTER A WITH DIAERESIS}rmel, H\N{LATIN SMALL LETTER O WITH CIRCUMFLEX}rror, T\N{LATIN SMALL LETTER E WITH ACUTE}rror and St\N{LATIN SMALL LETTER A WITH RING ABOVE}le'
•    b'My name is ?rmel, H?rror, T?rror and St?le'
•    b'My name is Ärmel, Hôrror, Térror and Ståle'
Das b als Prefix bedeutet, dass die String nunmehr als byte-Reihe gespeichert werden.

Alle Kodierungen siehe Seite 110 Kapitel 14.1.

siehe auch decode


***** endswith

Gibt True zurück, wenn der String mit dem Parameter endet. Diese Funktion wird häufig bei Dateioperationen benutzt. Man prüft, ob ein Pfad ein Slash oder Backslash am Ende hat.

txt = 'C:\Daten\'
print(   txt.endswidth('\‘)
txt = 'C:/Daten/'
print(   txt.endswidth('/‘)


***** expandtabs

Wenn in String Tabs enthalten sind, kann man diese durch Leerzeichen ersetzten.
Entspricht einem replace.

txt = 'H	e	l	l	o'
print(  txt.expandtabs(5)  )                        H    e    l    l    o
print(  txt.replace('	','    ')  )                        H    e    l    l    o

Im obigen Beispiel erkennt man, dass die Funktion ein Leerzeichen zuwenig einfügt.


find

Sucht in einem String nach einem SubString und gibt die erste Position aus. -1 zeigt an, dass man den SubString nicht gefunden hat.

txt = 'Hello Python, where are you ? '
print (  txt.find('are')  )                            20
txt = 'Hello Python, where are you ? ' - 1

print (  txt.find('your')  )

Diese Methode ist identisch mit der Methode „index“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.


***** format

Mit dieser Methode kann man Zahlen formatiert ausgeben.

Integer:
•    Formatspezifikation:            %d
o    %4d                    4 Stellen, links mit Leerzeichen aufgefüllt
o    %04d                    4 Stellen, links mit Nullen aufgefüllt
Beispiel
•    b=4
•    print('12345678901234567890')
•    print('Variable b1: ',b )
•    print('Variable b2: %d' % (b)  )
•    print('Variable b3: %3d' % (b)  )
•    print('Variable b4: %03d' % (b)  )

Ausgabe:
•    12345678901234567890
•    Variable b1:  4
•    Variable b2: 4
•    Variable b3:   4
•    Variable b4: 004

Floating-Numbers
•    Formatstring:            Width.Fraction
•    Width:                    Gesamtanzahl der Ziffer für die Zahl (ohne Punkt)
•    Fraction:                Anzahl der Nachkommastellen
•    Anzahl der Stellen:
o    Minimal: Width-Fraction
o    Maximal: Soviel wir notwendig

Beispiel:
•    txt = 'Price { price: 7.2f} dollars!'
•    print(txt.format(price = 49))
•    print('12345678901234567890')
•    print('')
•    txt = 'Price { price: 7.2f} dollars!'
•    print(txt.format(price = 1234567))
•    print('12345678901234567890')
•    print('')
•    txt = 'Price { price: 7.0f} dollars!'
•    print(txt.format(price = 49))
•    print('12345678901234567890')^
•    Alternative:
o    a=123.456789
o    print('Variable a: %.3f' % (a)  )

Ausgabe:
•    Price   49.00 dollars!
•    12345678901234567890

•    Price 1234567.00 dollars!
•    12345678901234567890

•    Price      49 dollars!
•    12345678901234567890

Format-String-Parameter
•    :<             Left aligns the result (within the available space)
•    :>             Right aligns the result (within the available space)
•    :^             Center aligns the result (within the available space)
•    :=             Places the sign to the left most position
•    :+             Use a plus sign to indicate if the result is positive or negative
•    :-             Use a minus sign for negative values only
•    :              Use a space to insert an extra space before positive numbers (and a minus sign before negative numbers)
•    :,             Use a comma as a thousand separator
•    :_             Use a underscore as a thousand separator
•    :b             Binary format
•    :c             Converts the value into the corresponding unicode character
•    :d             Decimal format
•    :e             Scientific format, with a lower case e
•    :E             Scientific format, with an upper case E
•    :f             Fix point number format
•    :F             Fix point number format, in uppercase format (show inf and nan as INF and NAN)
•    :g             General format
•    :G             General format (using a upper case E for scientific notations)
•    :o             Octal format
•    :x             Hex format, lower case
•    :X             Hex format, upper case
•    :n             Number format
•    :%             Percentage format

***** format_map

Die format_map Methode erstellt einen String in Zusammenarbeit mit einer Hashtable, Map, und einem String. In der map sind ein oder mehrere Werte mit einem „Index“ eingetragen. In den „Ausgabestring“ werden nun die key-Werte als Parameter eingetrane. Dann bekommt dieser String die Map übergeben.
Beispiel:
•    hash = {'a': 1234,  'b': 3456,  'c':666}
•    txt = 'Die 1. Zahl ist {a} ,  die 2. Zahl ist {b} und die 3. Zahl ist {c}'
•    erg = txt.format_map(hash)
•    print(erg)
Ausgabe:
•    Die 1. Zahl ist 1234 ,  die 2. Zahl ist 3456 und die 3. Zahl ist 666

index

Sucht in einem String nach einem SubString und gibt die erste Position aus. Wenn der SubString nicht gefunden wurde, wird eine Exception ausgeworfen.

Beispiel:
•    txt = 'Hello Python, where are you ? '
•    print (  txt.index('are')  )                            20
•    txt = 'Hello Python, where are you ? '        
•    print (  txt.index('your')  )

Ausgabe der zweiten Suche:
Traceback (most recent call last):
  File 'D:\progs\Python\test.py', line 7, in 
    print (  txt.index('your')  )
ValueError: substring not found

Diese Methode ist identisch mit der Methode „find“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.



***** isalnum

Gibt den Wert True zurück, wenn alle Zeichen Alphanumerisch sind [A-Za-züäöÜÄÖß0-9² ³ ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?].


***** isalpha

Gibt den Wert True zurück, wenn alle Zeichen Alphabetisch sind [A-Za-züäöÜÄÖß].


***** isdecimal

Gibt den Wert True zurück, wenn alle Zeichen Alphanumerisch sind [0-9.].
Das heisst, dass es eine gültige Integerzahl ist (ohne die Sonderzeichen ²³ etc.).


***** isdigit

Gibt den Wert True zurück, wenn alle Zeichen Numerisch sind [0-9²³].
Das heisst, dass es eine gültige Integerzahl ohne Vorzeichen ist .
ohne die Sonderzeichen ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?

1.1.16    isidentifier


Hier wird geprüft, ob ein String ein Name für ein Objekt sein kann.
Pattern: [_A-ZÜÄÖ?a-züäöß] [_A-ZÜÄÖ?a-züäöß0-9]{0,}


***** islower

Hier wird geprüft, ob alle Zeichen des Strings kleinbuchstaben sind.


isnumeric

Gibt den Wert True zurück, wenn alle Zeichen Numerisch sind [0-9].
Das heisst, dass es eine gültige Integerzahl ohne Vorzeichen ist .
MIT den Sonderzeichen ½ ? ? ? ¼ ¾ ? ? ? ? ? ? ? ? ? ? ? ? ?


***** isprintable

Gibt den Wert True zurück, wenn alle Zeichen zu drucken sind.
Zeichen die nicht „druckbar“ sind:
•    	
•    

•    

•    

•                            vertical tab
•                            bell
•                            backspace
•                            form feed

Zeichen die „druckbar“ sind:
•    \
•    \.
•    \‘
•    \“


***** isspace

Gibt den Wert True zurück, wenn alle Zeichen zu „Whitespaces“ sind.
Whitespaces:
•    space
•    	
•    
•    
•    


***** istitle

Diese Methode testet, ob alle Wörter des Strings mit einem Großbuchstaben anfangen und danach nur noch aus Kleinbuchstaben bestehen. Kommata, Fragezeichen, Ausrufezeichen und Punkte werden ignoriert.


***** isupper

Diese Methode testet, ob alle Wörter des Strings aus Großbuchstaben bestehen. Kommata, Fragezeichen, Ausrufezeichen und Punkte werden ignoriert.

***** join

Die join-Methode verknüpft die Elemente einer Liste mit einem „SeparatorString“. Das ist sinnvoll bei CSV-Dateien.

liste = {'abc', 'def', 'xyz' }
txt = '	'.join(liste)                        abc	def	xyz
txt = '-!-'.join(liste)                        abc-!-def-!-xyz


***** ljust

Die Methode fügt linkseitig Zeichen an den Text. Also ein rechtbündiger Text. In C# heisst die Funktion lpad.

s = '12345'
txt = x.ljust(9)                            ____12345
txt = x.ljust(9,'!')                    !!!!12345

siehe auch rjust

***** lower

Die Methode ersetzt alle Großbuchstaben durch Kleinbuchstaben.

***** lstrip

Die se Methode löscht am Anfang des Textes die Whitespaces.
Whitespaces:
•    space
•    	
•    
•    
•    

Siehe auch strip, oder rstrip


***** maketrans

Diese Methode ersetzt einen String durch einen anderen String mit Hilfe einer Mapping-Table. Der zu ersetzende und der String der ersetzt werden soll, müssen die gleiche Länge haben. Mit einem Trick kann man das umgehen.

Normale Syntax (gleiche Länge):
•    txt = 'Hello Python'
•    table = txt.maketrans('P', 'S')                        P wird durch S ersetzt
•    print(txt.translate(mytable))                            Hello Sython

Erweiterte Syntax :
•    txt = 'Hello Python a b c'
•    hash = {'a': '1234',  'b': '3456',  'c':'666'}
•    mytable = txt.maketrans(hash)
•    print(txt.translate(mytable))                            Hello Python 1234 3456 666


***** partition(searchtext)

Diese Methode teilt einen String in drei Teile und gibt diese als Liste zurück:
•    Text vor dem ersten Suchstring
•    Suchstring
•    Text nach dem ersten Suchstring
Falls es keinen Treffer gab, gibt es nur einen Text.

Beispiel:
•    txt = 'I like Python, you too?'
•    print(  txt.partition('Python')  )                        ('I like ', 'Python', ', you too?')


***** replace(old,new,count)

Diese Methode ersetzt Teilstring durch einen anderen Teilstrings. Optional kann man auch angeben, wie oft man Ersetzen soll.

Beispiel:
•    txt = 'I like Python, you too?'
•    print(  txt.replace('Python', 'Java')  )                        I like Java, you too?


***** rfind

Sucht in einem String nach einem SubString und gibt die letzte Position aus. -1 zeigt an, dass man den SubString nicht gefunden hat.

txt = 'Hello Python, where are you ? '
print (  txt.find('are')  )                            20
txt = 'Hello Python, where are you ? ' - 1

print (  txt.find('your')  )

Diese Methode ist identisch mit der Methode „index“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.




***** rindex


Sucht in einem String nach einem SubString und gibt die letzte Position aus. Wenn der SubString nicht gefunden wurde, wird eine Exception ausgeworfen.

Beispiel:
•    txt = 'Hello Python, where are you ? '
•    print (  txt.index('are')  )                            20
•    txt = 'Hello Python, where are you ? '        
•    print (  txt.index('your')  )

Ausgabe der zweiten Suche:
Traceback (most recent call last):
  File 'D:\progs\Python	est.py', line 7, in 
    print (  txt.index('your')  )
ValueError: substring not found

Diese Methode ist identisch mit der Methode „find“. Diese wirft aber eine Exception aus, wenn der Text nicht gefunden wurde.


***** rjust

Die Methode fügt rechtsseitig Zeichen an den Text. Also ein linksbündiger Text. In C# heisst die Funktion rpad.

s = '12345'
txt = x.rjust(9)                            12345____
txt = x.rjust(9,'!')                    12345!!!!

siehe auch ljust


***** rpartition

Diese Methode teilt einen String in drei Teile und gibt diese als Liste zurück. Die Methode sucht aber vom Ende. Dies ist dann sinnvoll, wenn es mehrere Vorkommen des Suchstring gibt.
•    Text vor dem letzten Suchstring
•    Suchstring
•    Text nach dem letzten Suchstring
Falls es keinen Treffer gab, gibt es nur einen Text.

Beispiel:
•    txt = 'I like Python, you Python to0?'
•    print(  txt.rpartition('Python')  )                        (' I like Python, you ', 'Python', ',too?')


***** rsplit(separator, count)

Diese Methode zerlegt ein String in mehrere Teile und gibt diese als Liste zurück. Wenn man count nicht angibt, ist das Ergebnis identisch mit split. Wenn man die Anzahl angibt, so werden maximal count-Split durchgeführt.

txt ='abc;def;345;777'
liste = txt.rsplit(';',2)                                ['abc;def', '345', '777']
liste = txt.rsplit(';')                                    ['abc', 'def', '345', '777']
1.1.35    rstrip

Diese Methode löscht am Ende des Textes die Whitespaces.
Whitespaces:
•    space
•    	
•    
•    
•    

Siehe auch strip, oder lstrip


***** split(separator, count)

Diese Methode zerlegt ein String in mehrere Teile und gibt diese als Liste zurück. Wenn man count nicht angibt, ist das Ergebnis identisch mit rsplit. Wenn man die Anzahl angibt, so werden maximal count-splits durchgeführt.

txt ='abc;def;345;777'
liste = txt.split(';',2)                                ['abc', 'def', '345;'777']
liste = txt.split(';')                                    ['abc', 'def', '345', '777']


splitlines(keeplinebreaks)

Diese Methode splittet einen String bei den Zeilenumbrüchen. Der optionale Parameter „keeplinebreaks“ zeigt an, dass die Zeilenumbrüche beim Trennen erhalten bleiben.

Beispiel:
•    txt = 'abc
def
1234
789'
•    txt.splitlines()                            ['abc', 'def', '1234', '789' ]
•    txt.splitlines(False)                    ['abc', 'def', '1234', '789' ]
•    txt.splitlines(True)                    ['abc
', 'def
', '1234
', '789
' ]


***** startswith

Gibt True zurück, wenn der String mit dem Parameter anfängt. Diese Funktion wird häufig bei Dateioperationen benutzt. Man prüft, ob ein Pfad mit einem Laufwerk anfängt.

txt = 'C:\Daten\'
print(   txt.startswidth('C:\‘)


***** strip

Diese Methode löscht am Anfang und am Ende des Textes die Whitespaces.
Whitespaces:
•    space
•    	
•    
•    
•    

Siehe auch lstrip, oder rstrip


***** substring

 Ein Substring wird über die Indizes realisiert.
Parameter:
•    :start
•    :end
•    :step

Beispiele:
•    string[start:end]  Get all characters from index start to end-1
•    string[:end]       Get all characters from the beginning of the string to end-1
•    string[start:]     Get all characters from index start to the end of the string
•    string[0:5]        Get the first 5 characters
•    string[:5]         Get the first 5 characters
•    string[-1]         Get the last character
•    string[-5:]        Get the last 5 characters
•    string[0:-4]       Get all characters, except the last 4 characters
•    string[1:-4]       Get all characters, except the last 4 and the first char.


***** swapcase

Diese Methode wechselt zwischen Groß- und Kleinbuchstaben


***** title

Diese Methode konvertiert alle Wörter als title konform. Das bedeutet:
•    Anfang ein Großbuchstabe
•    Dann nur Kleinbuchstaben


***** translate

Siehe maketrans


***** upper

Diese Methode ersetzt alle Kleinbuchstaben durch Großbuchstaben.


***** zfill(len)

Die Methode fügt am Anfang Nullen an einem Text. Sie arbeitet ähnlich dem ljust.

***** ord(char)

Diese Methode gibt den ASCII-Code eines Zeichens aus. Es darf nur ein Zeichen übergeben werden.


Wichtige Zeichen:
•    46            .
•    48            0
•    65            A
•    90            Z
•    91            [
•    92            \
•    93            ]
•    97            a
•    122            z

i = ord('a')        97


***** chr

Diese Methode gibt zu einem ASCII-Code das zugehörige Zeichen aus. Man unterscheidet da aber nach der Kodierungstabelle.

Wichtige Zeichen:
•    46            .
•    48            0
•    65            A
•    90            Z
•    91            [
•    92            \
•    93            ]
•    97            a
•    122           z

s = chr(97)        a




Betriebssystem