Использование разделения строки с символами табуляции в PowerShell 1.0 - PullRequest
13 голосов
/ 26 октября 2011

Я обрабатываю текстовый файл, разделенный табуляцией (ANSI) в PowerShell 1.0, и по какой-то причине я не могу разбить текст в файле на несколько полей с помощью функции split. Код ниже всегда возвращает 1, хотя в каждой строке файла есть пять значений, разделенных табуляцией.

$f = get-content ‘users.txt’
foreach ($line in $f)
{
   $fields = $line.split('\t')
   $fields.count | Out-Host
}

Я тестировал разделение с другими разделителями, такими как pipe, запятая, и это работало без проблем.

Ответы [ 2 ]

21 голосов
/ 27 октября 2011

Вы используете неправильный escape-символ для вкладки. Попробуйте вместо этого:

$f = Get-Content "Users.txt"

foreach ($line in $f) {
    $fields = $line.Split("`t")
    $fields.Count | Out-Host
}
0 голосов
/ 09 января 2014
(Get-Content -LiteralPath C:\temp\Users.txt) | ForEach-Object {$_.Split("'t")} | Set-Content -Path C:\temp\Results.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...