/ / Как да разделим низ в PowerShell - regex, string, powershell, split

Как да разделим низ в PowerShell - regex, string, powershell, split

Изглежда, че трябва да е доста просто, но не мога да го разбера. Имам низ, който изглежда така:

$string = "blah blah; something"

Всичко, което искам да направя, е да ги разделя на запетайката и пространството, но винаги, когато се опитам да го направя, използвайки $string.split("; ") той също се разделя на първата половина на низа заради пространството. Предполагам, че вероятно трябва да използвам Regex, но не го разбирам добре, за да го направя.

Отговори:

1 за отговор № 1

Какво ще кажете за просто разделяне на низа при ; и подрязване на резултатите от допълнително бяло пространство?

PS C:> $string.split(";") | % { $_.trim()}
blah blah
something

Регексът сигурно също работи:

[regex]::split($string, ";s")
blah blah
something

1 за отговор № 2

System.String.Split е предназначен да се раздели на всеки знак в низ, който му дадете:

PS > $string = "blah blah; something"
PS > $string.Split("; b")  # This splits on ";", " ", and "b"

lah

lah

something
PS >

Ако искате да се разделите на модел като "; ", трябва да използвате -split оператор:

PS > $string = "blah blah; something"
PS > $string -split "; "
blah blah
something
PS >

0 за отговор № 3

Ако приемем, че няма значение във вашия конкретен случай, можете просто да премахнете второто интервал.

$string.Replace("; ", ";").Split(";")