How to – Text Objekte editieren mit PowerShell

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.

textedit1

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