在PowerShell 1.0中使用字符串拆分和制表符

kir*_*l_l 13 powershell split

我在PowerShell 1.0中处理制表符分隔的文本文件(ANSI),由于某种原因,我无法使用该split函数将文件中的文本拆分为多个字段.下面的代码总是返回1,尽管在文件的每一行中有五个由制表符分隔的值.

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

我测试了拆分与管道,逗号等其他分隔符,它没有问题.

Tom*_*m H 21

您正在为选项卡使用错误的转义字符.试试这个:

$f = Get-Content "Users.txt"

foreach ($line in $f) {
    $fields = $line.Split("`t")
    $fields.Count | Out-Host
}
Run Code Online (Sandbox Code Playgroud)

  • @kirill_l - 因为\在窗口中的路径中使用\所以如果\是转义字符,则必须指定路径,如`c:\\ windows`.在像Powershell这样的脚本环境中,经常使用路径,因此需要使用路径. (8认同)
  • 然后你应该阅读about_quoting_rules和about_escape_characters的帮助. (2认同)