После борьбы с этим в течение получаса, я испытал это различие, разделив строку на пробелы, в зависимости от того, какой синтаксис вы используете.Powershell split() vs -split - какая разница?
Простая строка:
$line = "1: 2: 3: 4: 5: "
Сплит пример 1 - обратите внимание на дополнительное пространство с токенов от 1 года:
$ln = $line.split(":\s+")
$ln
1
2
3
4
5
Split Пример 2 - пространства пропали (как они должен)
$ln = $line -split ":\s+"
$ln
1
2
3
4
5
Я подозреваю, что это первый метод .NET (?), А оператор -split
PS, возможно, имеет более искушенные умения, когда дело доходит до интерпретации регулярных выражений.
Однако, когда я попробовал первый метод с разделом вроде ": "
, это тоже не сработало. Если это .NET, нужно ли что-то правильно интерпретировать факт, он должен использовать оба символа в качестве разделителя?
@Rahul - это не "добавить" дополнительное пространство к выходу. 'split()' fail (по причинам, объясненным ниже) для обработки пробела после символа «:» в качестве разделителя, поэтому пространство _remains_ как часть вывода. – Trix