user19502045
user19502045

Reputation:

How do I Split a string in Powershell

Suppose there is a string named as (ai-somename-someid) and it is stored in say

$x='ai-somename-someid'

Now I want to extract (somename)from the given string and pass it into another variable by using split(I am using the below script)

$y = $x.split("-")   
$y 

It is giving me the output as

ai  
somename   
someid  

but I would like to have only

somename

  

as the output.

Upvotes: 3

Views: 16954

Answers (3)

js2010
js2010

Reputation: 27428

Or using the split operator. This is really about picking the 2nd element of an array. The count starts at 0.

'ai-somename-someid' -split '-' | select-object -index 1
somename

-split on the left side will split on whitespace.

(-split 'ai somename  someid')[1]
somename

Upvotes: 1

aperol
aperol

Reputation: 61

There's a couple of way you can do that : If you only want one item this is the most straight forward way to do it. Simply cut your string and reference the id of the element you want to save.

$x="ai-somename-someid"
$y=$x.split("-")[1]

or you could do this instead if you are interested in keeping the other parts :

$x="ai-somename-someid"
$z,$y,$v=$x.split("-")

In this exemple $z will have ai, $y somename and $v someid.

If you are only interested in keeping some of the resulting string you can do this :

$x="ai-somename-someid"
$z,$y,$null=$x.split("-")

In this exemple $z will have ai, $y somename and everything after that goes to the trash.

Upvotes: 6

Dilly B
Dilly B

Reputation: 1462

You can directly pass y[1] as a variable name for someone.

$x= "ai-somename-someid"
$y =  $x.split("-")
$y[1]

Upvotes: 2

Related Questions