Как разделить переменную с пробелом в PowerShell - PullRequest
0 голосов
/ 09 января 2019

его линия работает на разделение ","

$lastName, $firstName = $name -Split(",");

Но я также хочу разделить на ПРОСТРАНСТВО. Я пытался успокоиться так:

if ($name -match ",") {
    # $lastName, $firstName = $name -split(",");
    {
        else $lastName, $firstName = $name -split(" ");

Это не работает.

Ответы [ 3 ]

0 голосов
/ 09 января 2019

Ваш код работает нормально, если написано правильно:

if ($name -match ",") {
    # $lastName, $firstName = $name -split(",");
}
else {
    $lastName, $firstName = $name -split(" ");
}
0 голосов
/ 09 января 2019

Поскольку между и на некоторых языках могут быть пробел и запятая (например, нидерландские имена ), обычно используются tussenvoegsels, предлоги или статьи (например, Maarten van der Weijden), я бы еще на один шаг ответил @ Janne's (+1), добавив + ( одно или несколько вхождений предыдущего элемента ) к регулярному выражению и , 2 к оператору -Split , например:

$LastName, $FirstName = "Weijden, Maarten van der" -Split '[, ]+', 2
0 голосов
/ 09 января 2019

Поскольку оператор -split использует регулярные выражения , вы можете просто перечислить разделители в квадратных скобках:

"foo,bar baz" -split "[, ]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...