web-dev-qa-db-fra.com

Fractionner une chaîne en variables séparées

J'ai une chaîne que j'ai divisée en utilisant le code $CreateDT.Split(" "). Je veux maintenant manipuler deux chaînes distinctes de manière différente. Comment puis-je les séparer en deux variables?

60
davetherave

Comme ça?

$string = 'FirstPart SecondPart'
$a,$b = $string.split(' ')
$a
$b
105
mjolinor

Un tableau est créé avec l'opérateur -split. Ainsi,

$myString="Four score and seven years ago"
$arr = $myString -split ' '
$arr # Print output
Four
score
and
seven
years
ago

Lorsque vous avez besoin d’un élément donné, utilisez l’index de tableau pour l’atteindre. Attention, cet index commence à zéro. Ainsi,

$arr[2] # 3rd element
and
$arr[4] # 5th element
years
37
vonPryz

Il est important de noter la différence suivante entre les deux techniques:

$Str="This is the<BR />source string<BR />ALL RIGHT"
$Str.Split("<BR />")
This
is
the
(multiple blank lines)
source
string
(multiple blank lines)
ALL
IGHT
$Str -Split("<BR />")
This is the
source string
ALL RIGHT 

A partir de là, vous pouvez voir que la string.split()méthode:

  • effectue une séparation sensible à la casse (notez que "TOUT DROIT", sa division sur le "R" mais "en panne" n'est pas divisée sur le "r")
  • traite la chaîne comme une liste de caractères possibles à diviser

Alors que le -splitopérateur:

  • effectue une comparaison insensible à la casse
  • ne se divise que sur toute la chaîne
20
0xG

Essaye ça:

$Object = 'FirstPart SecondPart' | ConvertFrom-String -PropertyNames Val1, Val2
$Object.Val1
$Object.Val2
6
Esperento57

Instruction d'opération Foreach-object:

$a,$b = 'hi.there' | foreach split .
$a,$b

hi
there
0
js2010