Die PowerShell ist objektorientiert. Das bedeutet, dass alles, womit Sie bei Ein- und Ausgaben arbeiten, Objekte sind, die Eigenschaften und Methoden mit sich bringen. Ich möchte hier einige Methoden zeigen, mit denen Sie Strings “bearbeiten” können. Sie lassen sich die Methoden eines Objektes mit Get-Member auflisten.
Beispiele:
#Text in Grossbuchstaben umwandeln:
PS C:\Users\Marco> “Ich bin ein TEXT”.toupper()
ICH BIN EIN TEXT
#Text in Kleinbuchstaben umwandeln:
PS C:\Users\Marco> “Ich bin ein TEXT”.tolower()
ich bin ein text
#Prüfen ob eine Datei eine bestimmte Endung aufweist:
PS C:\Users\Marco> “datei.log”.endswith(“.LOG”)
False
False deshalb, weil Casesensitive, deshalb kann das ganze auch entsprechend kombiniert werden:
PS C:\Users\Marco> “datei.log”.toupper().endswith(“.LOG”)
True
#Erste Position eines Suchwortes im Text bestimmen:
PS C:\Users\Marco> “Ich bin ein TEXT”.indexof(“in”)
5
#Letzte Position eines Suchwortes im Text bestimmen:
PS C:\Users\Marco> “Ich bin ein TEXT”.lastindexof(“in”)
9
#Text bis zu einer bestimmten Position ausgeben:
PS C:\Users\Marco> $mail=”marco.langlitz@langlitz-it.de”
PS C:\Users\Marco> $bis=$mail.indexof(“@”)
PS C:\Users\Marco> $mail.substring(0,$bis)
marco.langlitz
#Text ab einer bestimmten Position ausgeben:
PS C:\Users\Marco> $mail.substring($bis+1)
langlitz-it.de
#Text mit Leerzeichen (10) auf gleiche Breite auffüllen
PS C:\Users\Marco> $Vornamen |% {$_.padleft(10)}
Marco
Steffen
Michael
#Worte im Text ersetzen
PS C:\Users\Marco> “Ich bin ein TEXT”.replace(“ein”,”der”)
Ich bin der TEXT
#Text durch Trennzeichen in mehrere Teile trennen
PS C:\Users\Marco> “Ich bin ein TEXT”.split(” “)
Ich
bin
ein
TEXT
PS C:\Users\Marco> “Ich bin ein TEXT”.split(” “)[2]
ein
PS C:\Users\Marco> “marco.langlitz@langlitz-it.de”.split(“@”)
marco.langlitz
langlitz-it.de
#Leerzeichen oder Zeichenketten im Text entfernen:
PS C:\Users\Marco> ” Ich bin ein TEXT “.trim()
Ich bin ein TEXT
löscht Leerzeichen am Anfang und am Ende
PS C:\Users\Marco> ” Ich bin ein TEXT “.trimstart()
Ich bin ein TEXT
löscht Leerzeichen am Anfang
PS C:\Users\Marco> ” Ich bin ein TEXT “.trimend()
Ich bin ein TEXT
löscht Leerzeichen am Ende
PS C:\Users\Marco> “Ich bin ein TEXT”.trimstart(“Ich”)
bin ein TEXT
PS C:\Users\Marco> “Ich bin ein TEXT”.trimend(“TEXT”)
Ich bin ein
#Zeichen löschen geht auch mit remove
PS C:\Users\Marco> “Ich bin ein TEXT”.remove(5)
Ich b
löscht alles, außer den ersten 5 Zeichen