Изглежда, че трябва да е доста просто, но не мога да го разбера. Имам низ, който изглежда така:
$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(";")