RUBRIQUE
    about_Split

DESCRIPTION COURTE
    Explique comment utiliser l'opérateur split pour fractionner une 
    ou plusieurs chaînes en sous-chaînes. 

DESCRIPTION LONGUE
    L'opérateur split fractionne une ou plusieurs chaînes en 
    sous-chaînes. Vous pouvez modifier les éléments suivants de 
    l'opération split :
	
	-- Délimiteur. La valeur par défaut est un espace blanc, mais vous 
	   pouvez spécifier les caractères, les chaînes, les modèles ou 
	   blocs de script qui spécifient le délimiteur.
	
	-- Nombre maximal de sous-chaînes. La valeur par défaut est le 
	   retour de toutes les sous-chaînes. Si vous spécifiez un nombre 
	   inférieur au nombre de sous-chaînes, les sous-chaînes restantes 
	   sont concaténées dans la dernière sous-chaîne. 

	-- Options qui spécifient les conditions dans lesquelles le 
	   délimiteur est mis en correspondance, telles que SimpleMatch et 
	   Multiline. 


  SYNTAXE

   Le diagramme suivant affiche la syntaxe pour l'opérateur -split.

   Les noms de paramètres n'apparaissent pas dans la commande. 
   Incluez uniquement les valeurs de paramètre. Les valeurs doivent 
   apparaître dans l'ordre spécifié dans le diagramme de syntaxe.

	-Split <String>

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

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

   Dans toute instruction split, vous pouvez remplacer -split par 
   -iSplit ou -cSplit. Les opérateurs -iSplit et -split ne respectent 
   pas la casse. L'opérateur -cSplit respecte la casse, ce qui signifie 
   que la casse est prise en compte lorsque les règles du délimiteur 
   sont appliquées.


  PARAMÈTRES

   <String>
        Spécifie une ou plusieurs chaînes à fractionner. Si vous 
        envoyez plusieurs chaînes, toutes les chaînes sont 
        fractionnées à l'aide des mêmes règles du délimiteur.
        Exemple :

	    -split "rouge jaune bleu vert"
	    rouge
            jaune
	    bleu
	    vert

   <Delimiter>
        Caractères qui identifient la fin d'une sous-chaîne. Le 
        délimiteur par défaut est un espace blanc, y compris les 
        espaces et les caractères non imprimables, tels que les 
        caractères nouvelle ligne (`n) et tabulation (`t). Lorsque 
        les chaînes sont fractionnées, le délimiteur est omis de 
        toutes les sous-chaînes. Exemple :

	    "Nom:Prénom:Adresse" -split ":"
	    Nom
	    Prénom
	    Adresse
	
    <Max-substrings>
        Spécifie le nombre maximal de sous-chaînes retournées. La 
        valeur par défaut est celle de toutes les sous-chaînes 
        fractionnées par le délimiteur. S'il y a plus de 
        sous-chaînes, elles sont concaténées à la dernière 
        sous-chaîne. S'il y a moins de sous-chaînes, toutes les 
        sous-chaînes sont retournées. Une valeur 0 et des valeurs 
        négatives retournent toutes les sous-chaînes.

        Si vous envoyez plusieurs chaînes (un tableau de chaînes) à 
        l'opérateur split, la limite Max-substrings est appliquée 
        séparément à chaque chaîne. Exemple :

	    $c = "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" 
	    $c -split ",", 5
	    Mercure
	    Vénus
	    Terre
	    Mars
	    Jupiter,Saturne,Uranus,Neptune
	

    <ScriptBlock>
        Expression qui spécifie des règles pour l'application du 
        délimiteur. L'expression doit prendre la valeur $true ou 
        $false. Placez le bloc de script entre accolades. Exemple :
	
            $c = "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Nept une" 
	    $c -split {$_ -eq "e" -or $_ -eq "p"}
	    M
	    rcur,Vénus,Trr,Mars,Ju
	    it
	    r,Saturn,Uranus,N

	    tun

    <Options>
        Placez le nom d'option entre guillemets. Les options sont 
        valides seulement si le paramètre <Max-substrings> est 
        utilisé dans l'instruction.

        La syntaxe du paramètre Options est la suivante :

	    "SimpleMatch [,IgnoreCase]"

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

 
        Les options SimpleMatch sont :
         	
          -- SimpleMatch : utilise la comparaison de chaînes simple 
             lors de l'évaluation du délimiteur. Ne peut pas être 
             utilisée avec RegexMatch.

          -- IgnoreCase : force la mise en correspondance avec 
             non-respect de la casse, même si l'opérateur -cSplit est 
             spécifié.


        Les options RegexMatch sont :

          -- RegexMatch : utilise la correspondance d'expression 
             régulière pour évaluer le délimiteur. Il s'agit du 
             comportement par défaut. Ne peut pas être utilisée avec 
             SimpleMatch.

          -- IgnoreCase : force la mise en correspondance avec 
             non-respect de la casse, même si l'opérateur -cSplit est 
             spécifié.

          -- CultureInvariant : ignore les différences culturelles de 
             langue lorsque le délimiteur est évalué. Valide 
             uniquement avec RegexMatch.

          -- IgnorePatternWhitespace : ignore l'espace blanc sans 
             séquence d'échappement et les commentaires marqués du 
             signe dièse (#). Valide uniquement avec RegexMatch.

          -- Multiline : le mode Multiline reconnaît le début et la 
             fin des lignes et des chaînes. Valide uniquement avec 
             RegexMatch. La valeur par défaut est Singleline.

          -- Singleline : le mode Singleline reconnaît uniquement le 
             début et la fin des chaînes. Valide uniquement avec 
             RegexMatch. La valeur par défaut est Singleline.

          -- ExplicitCapture : ignore les groupes de correspondance 
             non nommés afin que seuls les groupes de capture 
             explicites soient retournés dans la liste de résultats. 
             Valide uniquement avec RegexMatch.
	

  OPÉRATEURS SPLIT UNAIRE et BINAIRE

    L'opérateur split unaire (-split <string>) a une priorité plus 
    élevée qu'une virgule. Par conséquent, si vous envoyez une liste 
    de chaînes séparée par des virgules à l'opérateur split unaire, 
    seule la première chaîne (avant la première virgule) est fractionnée.

    Pour fractionner plusieurs chaînes, utilisez l'opérateur split 
    binaire (<string> -split <delimiter>). Placez toutes les chaînes 
    entre parenthèses ou stockez les chaînes dans une variable, 
    puis envoyez la variable à l'opérateur split.

    Considérez l'exemple suivant :

	-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

    
  EXEMPLES

    L'instruction suivante fractionne la chaîne au niveau de l'espace blanc.

	C:\PS> -split "Windows PowerShell 2.0`nWindows PowerShell à distance"

	Windows
	PowerShell
	2.0
	Windows
	PowerShell
	à
	distance


    L'instruction suivante fractionne la chaîne au niveau de toutes 
    les virgules.

	C:\PS> "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" -split ','

        Mercure
        Vénus
        Terre 
        Mars
        Jupiter
        Saturne
        Uranus
        Neptune


    L'instruction suivante fractionne la chaîne au niveau du modèle " er ".

	C:\PS> "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" -split 'er'

	M
	cure,Vénus,Tre,Mars,Jupit
	,Saturne,Uranus,Neptune



    L'instruction suivante exécute un fractionnement qui respecte la 
    casse au niveau de la lettre " N ".

	C:\PS> "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" -cSplit 'N'

	Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus, 
	eptune



    L'instruction suivante fractionne la chaîne au niveau de " e " et " t ".

        C:\PS> "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" -split '[et]'

        M
        rcur,Vénus,
        rr
        ,Mars,Jupi

        r,Sa
        urn,Uranus,N
        p
        un

    L'instruction suivante fractionne la chaîne au niveau de " e " et 
    " r ", mais limite les sous-chaînes résultantes à six sous-chaînes.

        C:\PS> "Mercure,Vénus,Terre,Mars,Jupiter,Saturne,Uranus,Neptune" -split '[er]', 6

	M

	cu
	,Vénus
	,T
	,Mars,Jupiter,Saturne,Uranus,Neptune



    L'instruction suivante fractionne une chaîne en trois sous-chaînes. 

        C:\PS> "a,b,c,d,e,f,g,h" -split ",", 3

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


    L'instruction suivante fractionne deux chaînes en trois sous-chaînes. 
    (La limite est appliquée indépendamment à chaque chaîne.) 

        C:\PS> "a,b,c,d", "e,f,g,h" -split ",", 3

	a
	b
	c,d
	e
	f
	g,h


    L'instruction suivante fractionne chaque ligne dans la chaîne 
    here au niveau du premier chiffre. Elle utilise l'option Multiline 
    pour reconnaître le début de chaque ligne et de chaque chaîne.

    Le 0 représente la valeur " retourner tout " du paramètre 
    Max-substrings. Vous pouvez utiliser des options, telles que 
    Multiline, uniquement lorsque la valeur Max-substrings est spécifiée.
    
        C:\PS> $a = @'
	1La première ligne.
	2La deuxième ligne.
	3La troisième des trois lignes.
	'@
        
        C:\PS> $a -split "^\d", 0, "multiline"
	
	La première ligne.


	La deuxième ligne.


	La troisième des trois lignes.



    L'instruction suivante utilise l'option SimpleMatch pour conduire 
    l'opérateur -split à interpréter le délimiteur point (.) littéralement. 

    Avec la valeur par défaut, RegexMatch, le point entre guillemets 
    (".") est interprété comme pouvant correspondre à tout caractère 
    à l'exception d'un caractère de nouvelle ligne. Par conséquent, 
    l'instruction split retourne une ligne vierge pour chaque 
    caractère sauf celui de nouvelle ligne.

    Le 0 représente la valeur " retourner tout " du paramètre 
    Max-substrings. Vous pouvez utiliser des options, telles que 
    SimpleMatch, uniquement lorsque la valeur Max-substrings est 
    spécifiée.

        C:\PS> "Cela.est.un.test" -split ".", 0, "simplematch"

	Cela
        est
        un 
	test	



    L'instruction suivante fractionne la chaîne au niveau de l'un des 
    deux délimiteurs, selon la valeur d'une variable.

        C:\PS> 	$i = 1
        C:\PS> 	$c = "Nom, Prénom; Adresse, Ville, État, Code postal"
        C:\PS> 	$c -split {if ($i -lt 1) {$_ -eq ","} else {$_ -eq ";"}}

	Nom, Prénom
	 Adresse, Ville, État, Code postal
		
	

    Les instructions split suivantes fractionnent un fichier XML 
    d'abord au niveau du crochet pointu, puis au niveau du 
    point-virgule. Le résultat est une version lisible du fichier XML.

        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 ";"


    Pour afficher le résultat, tapez " $x ".
	
	C:\PS> $x

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


VOIR AUSSI
    Split-Path
    about_Operators
    about_Comparison_Operators
    about_Join




Table des matières