THEMA
    about_Split

KURZBESCHREIBUNG
    Erklärt, wie der Teilungsoperator verwendet wird, um eine oder 
    mehrere Zeichenfolgen in Teilzeichenfolgen zu teilen. 

DETAILBESCHREIBUNG
    Der Teilungsoperator teilt eine oder mehrere Zeichenfolgen in 
    Teilzeichenfolgen. Sie können die folgenden Elemente des 
    Teilungsvorgangs ändern:
	
	-- Trennzeichen. Die Standardeinstellung sind Leerräume, Sie können 
	   aber Zeichen, Zeichenfolgen, Muster oder Skriptblöcke angeben, die das 
	   Trennzeichen angeben.
	
	-- Maximale Anzahl von Teilzeichenfolgen. Standardmäßig werden alle 
	   Teilzeichenfolgen zurückgegeben. Wenn die von Ihnen angegebene Anzahl 
           kleiner als die der Teilzeichenfolgen ist, werden die verbleibenden 
           Teilzeichenfolgen in der letzten Teilzeichenfolge verkettet. 

	-- Optionen zum Angeben der Bedingungen für die Übereinstimmung von 
	   Trennzeichen, z. B. "SimpleMatch" und "Multiline". 


  SYNTAX

   Das folgende Diagramm zeigt die Syntax des -split-Operators.

   Die Parameternamen werden im Befehl nicht angegeben. Schließen Sie 
   nur die Parameterwerte ein. Die Werte müssen in der im 
   Syntaxdiagramm angegebenen Reihenfolge angezeigt werden.

	-Split <String>

	<String> -Split <Delimiter>[,<Max-substrings>[,"<Options>"]]

	<String> -Split {<ScriptBlock>} [,<Max-substrings>]

   In einer split-Anweisung können Sie "-split" durch "-iSplit" oder 
   "-cSplit" ersetzen.
   Bei den Operatoren "-iSplit" und "-split" wird die Groß-/Kleinschrei-
   bung nicht beachtet. Beim -cSplit-Operator wird die 
   Groß-/Kleinschreibung beachtet, d. h., dass die Groß-/Kleinschrei-
   bung bei Anwendung der Trennzeichenregeln beachtet wird.


  PARAMETER

   <String>
        Gibt eine oder mehrere Zeichenfolgen an, die geteilt werden 
        sollen. Wenn Sie mehrere Zeichenfolgen angeben, werden alle 
        Zeichenfolgen mit denselben Trennzeichenregeln geteilt.
        Beispiel:

	    -split "rot gelb blau grün"
	    rot
            gelb
	    blau
	    grün

   <Delimiter>
        Die Zeichen, die das Ende einer Teilzeichenfolge 
        identifizieren. Das Standardtrennzeichen ist ein Leerraum, 
        einschließlich von Leerzeichen und nicht druckbaren Zeichen 
        wie Zeilenwechsel ("`n") und Tabstopp ("`t"). Wenn die 
        Zeichenfolgen geteilt werden, wird das Trennzeichen in allen 
        Teilzeichenfolgen weggelassen. Beispiel:

	    "Nachname:Vorname:Adresse" -split ":"
	    Nachname
	    Vorname
	    Adresse
	
    <Max-substrings>
        Gibt die maximale Anzahl der zurückzugebenden Teilzeichenfolgen 
        an. Standardmäßig werden alle vom Trennzeichen geteilten 
        Teilzeichenfolgen zurückgegeben. Wenn mehr Teilzeichenfolgen 
        vorhanden sind, werden diese in der abschließenden 
        Teilzeichenfolge verkettet. Falls weniger Teilzeichenfolgen 
        vorhanden sind, werden alle Teilzeichenfolgen zurückgegeben. 
        Beim Wert 0 und bei negativen Werten werden alle 
        Teilzeichenfolgen zurückgegeben.

        Wenn Sie mehr als eine Zeichenfolge (ein Zeichenfolgenarray) 
        an den Teilungsoperator übergeben, wird die durch 
        "Max-substrings" angegebene Begrenzung auf jede einzelne 
        Zeichenfolge angewendet. Beispiel:

	    $c = "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" $c 
	    -split ",", 5
	    Mercury
	    Venus
	    Earth
	    Mars
	    Jupiter,Saturn,Uranus,Neptune
	

    <ScriptBlock>
        Ein Ausdruck, der Regeln für das Anwenden des Trennzeichens 
        angibt. Der Ausdruck muss "$true" oder "$false" ergeben. 
        Schließen Sie den Skriptblock in geschweifte Klammern ein. 
        Beispiel:
	
            $c = "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptu ne" 
            $c -split {$_ -eq "e" -or $_ -eq "p"}
	    M
	    rcury,V
	    nus,Earth,Mars,Ju
	    it
	    r,Saturn,Uranus,N
	
	    tun

    <Options>
        Schließen Sie den Optionsnamen in Anführungszeichen ein. 
        Optionen sind nur dann gültig, wenn der <Max-substrings>-Para-
        meter in der Anweisung verwendet wird.

        Die Syntax für den Options-Parameter lautet:

	    "SimpleMatch [,IgnoreCase]"

            "[RegexMatch] [,IgnoreCase] [,CultureInvariant] 
            [,IgnorePatternWhitespace] [,ExplicitCapture] 
            [,Singleline | ,Multiline]"

 
        Die SimpleMatch-Optionen lauten:
         	
          -- SimpleMatch: Verwendung des einfachen Zeichenfolgenver-
             gleichs bei Auswertung des Trennzeichens. Kann nicht mit 
             "RegexMatch" verwendet werden.

          -- IgnoreCase: Erzwingt beim Vergleich die Beachtung von 
             Groß-/Kleinschreibung, auch wenn der -cSplit-Operator 
             angegeben wird.


        Die RegexMatch-Optionen lauten:

          -- RegexMatch: Verwendung von Vergleichen mit regulären 
             Ausdrücken zum Auswerten des Trennzeichens. Dies ist das 
             Standardverhalten. Kann nicht mit "SimpleMatch" 
             verwendet werden.

          -- IgnoreCase: Erzwingt beim Vergleich die Beachtung von 
             Groß-/Kleinschreibung, auch wenn der -cSplit-Operator 
             angegeben wird.

          -- CultureInvariant: Ignoriert kulturelle Sprachunterschiede 
             beim Auswerten des Trennzeichens. Nur mit "RegexMatch" 
             gültig.

          -- IgnorePatternWhitespace: Ignoriert Leerstellen ohne 
             Escapezeichen und mit dem Nummernzeichen (#) markierte 
             Kommentare. Nur mit "RegexMatch" gültig.

          -- Mehrzeilig: Im Multiline-Modus werden Beginn und Ende 
             von Zeilen und Zeichenfolgen erkannt. Nur mit 
             "RegexMatch" gültig. Der Standardwert ist "Singleline".

          -- Singleline: Im Singleline-Modus werden nur Beginn und 
             Ende von Zeichenfolgen erkannt. Nur mit "RegexMatch" 
             gültig. Der Standardwert ist "Singleline".

          -- ExplicitCapture: Ignoriert nicht benannte Gruppen von 
             Übereinstimmungen, sodass nur explizit erfasste Gruppen 
             in der Ergebnisliste zurückgegeben werden. Nur mit 
             "RegexMatch" gültig.
	

  UNÄRE und BINÄRE TEILUNGSOPERATOREN

    Der unäre Teilungsoperator (-split <string>) hat Vorrang vor einem 
    Komma. Wenn Sie eine durch Kommas getrennte Liste von 
    Zeichenfolgen an den unären Teilungsoperator senden, wird daher 
    nur die erste Zeichenfolge (vor dem ersten Komma) geteilt.

    Um mehrere Zeichenfolgen zu teilen, verwenden Sie den binären 
    Teilungsoperator (<string> -split <delimiter>). Schließen Sie 
    alle Zeichenfolgen in Klammern ein,
    oder speichern Sie die Zeichenfolgen in einer Variablen, die Sie 
    dann an den Teilungsoperator senden.

    Betrachten Sie das folgende Beispiel:

	-split "1 2", "a b"
	1
	2
 	a b


	"1 2", "a b" -split " "
	1
	2
 	a
	b


	-split ("1 2", "a b")
	1
	2
 	a
	b

	$a = "1 2", "a b"
	-split $a
	1
	2
 	a
	b

    
  BEISPIELE

    Die folgende Anweisung teilt die Zeichenfolge bei Leerräumen.

	C:\PS> -split "Windows PowerShell 2.0`nWindows PowerShell mit Remoting"

	Windows
	PowerShell
	2.0
	Windows
	PowerShell
	mit
	Remoting


    Die folgende Anweisung teilt die Zeichenfolge bei jedem Komma.

	C:\PS> "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" -split ','

        Mercury
        Venus
        Earth 
        Mars
        Jupiter
        Saturn
        Uranus
        Neptune


    Die folgende Anweisung teilt die Zeichenfolge mit dem Muster "er".

	C:\PS>"Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" -split 'er'

	M
	cury,Venus,Earth,Mars,Jupit
	,Saturn,Uranus,Neptune



    Die folgende Anweisung führt beim Buchstaben "N" eine Teilung 
    unter Beachtung der Groß-/Kleinschreibung aus.

	C:\PS> "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" 
	-cSplit 'N'

	Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus, eptune



    Die folgende Anweisung teilt die Zeichenfolge bei "e" und "t".

        C:\PS> "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" -split '[et]'

        M
        rcury,V
        nus,
        ar
        h,Mars,Jupi

        r,Sa
        urn,Uranus,N
        p
        un


    Die folgende Anweisung teilt die Zeichenfolge bei "e" und "r", 
    aber beschränkt die resultierenden Teilzeichenfolgen auf sechs.

        C:\PS> "Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Neptune" -split '[er]', 6

	M

	cu
	y,V
	nus,
	arth,Mars,Jupiter,Saturn,Uranus,Neptune



    Die folgende Anweisung teilt eine Zeichenfolge in drei 
    Teilzeichenfolgen. 
        C:\PS> "a,b,c,d,e,f,g,h" -split ",", 3

	a
	b
	c,d,e,f,g,h


    Die folgende Anweisung teilt zwei Zeichenfolgen in drei 
    Teilzeichenfolgen. (Die Beschränkung wird auf jede Zeichenfolge 
    einzeln angewendet.) 
        C:\PS> "a,b,c,d", "e,f,g,h" -split ",", 3

	a
	b
	c,d
	e
	f
	g,h


    Die folgende Anweisung teilt jede Zeile in der here-Zeichenfolge 
    bei der ersten Ziffer. Dabei wird die Multiline-Option verwendet, 
    um den Anfang jeder Zeile und Zeichenfolge zu erkennen.

    Die 0 stellt den Wert zum Zurückgeben aller Werte des 
    Max-substrings-Parameters dar. Sie können Optionen wie 
    "Multiline" nur verwenden, wenn der Max-substrings-Wert  
    angegeben wird.
    
        C:\PS> $a = @'
	1Die erste Zeile.
	2Die zweite Zeile.
	3Die dritte von drei Zeilen.
	'@
        
        C:\PS> $a -split "^\d", 0, "multiline"
	
	Die erste Zeile.


	Die zweite Zeile.


	Die dritte von drei Zeilen.



    In der folgenden Anweisung wird der -split-Operator mit der 
    Option "SimpleMatch" angewiesen, das Punkt-Trennzeichen (.) 
    buchstäblich zu interpretieren. 

    Mit der Standardoption "RegexMatch" wird der in Anführungszeichen 
    eingeschlossene Punkt (".") als Übereinstimmung mit jedem Zeichen 
    außer einem Zeilenwechselzeichen interpretiert. Daher gibt die 
    split-Anweisung für jedes Zeichen mit Ausnahme des Zeilenwechsel-
    zeichens eine Leerzeile zurück.

    Die 0 stellt den Wert zum Zurückgeben aller Werte des 
    Max-substrings-Parameters dar. Sie können Optionen wie 
    "SimpleMatch" nur verwenden, wenn der Max-substrings-Wert 
    angegeben wird.

        C:\PS> "Dies.ist.ein.Test" -split ".", 0, "simplematch"

	Dies
        ist
        ein 
	Test	



    Die folgende Anweisung teilt die Zeichenfolge bei einem von zwei 
    Trennzeichen, abhängig vom Wert einer Variablen.

        C:\PS> 	$i = 1
        C:\PS> 	$c = "Nachname, Vorname; Adresse, Ort, Land, PLZ"
        C:\PS> 	$c -split {if ($i -lt 1) {$_ -eq ","} else {$_ -eq ";"}}

	Nachname, Vorname
	 Adresse, Ort, Land, PLZ
		
	

    Die folgenden split-Anweisungen teilen eine XML-Datei zuerst bei 
    der spitzen Klammer und dann beim Semikolon. Das Ergebnis ist 
    eine lesbare Version der XML-Datei.

        C:\PS> 	get-process powershell | export-clixml ps.xml
        C:\PS> 	$x = import-clixml ps.xml
        C:\PS> 	$x = $x -split "<"
        C:\PS> 	$x = $x -split ";"


    Um das Ergebnis anzuzeigen, geben Sie "$x" ein.
	
	C:\PS> $x

        @{__NounName=Process
	Name=powershell
	Handles=428
	VM=150081536
	WS=34840576
	PM=36253696
	...


SIEHE AUCH
    Split-Path
    about_Operators
    about_Comparison_Operators
    about_Join




Inhaltsverzeichnis