我正在阅读包含特定格式数字的文本文件。我想弄清楚该行的第一个字符是6还是4,并将整行存储在一个数组中以供日后使用。因此,如果该行以6开头,则将整行添加到sixArray中,如果该行以4开头,则将整行添加到fourArray中。
如何检查第一个字符,然后抓取该行的剩余X字符?没有替换任何数据?
答案 0 :(得分:9)
这样的事可能会奏效。
$sixArray = @()
$fourArray = @()
$file = Get-Content .\ThisFile.txt
$file | foreach {
if ($_.StartsWith("6"))
{
$sixArray += $_
}
elseif($_.StartsWith("4"))
{
$fourArray += $_
}
}
答案 1 :(得分:4)
如果您正在运行V4:
$fourArray,$sixArray =
((get-content $file) -match '^4|6').where({$_.startswith('4')},'Split')
答案 2 :(得分:3)
使用:
$Fours = @()
$Sixes = @()
GC $file|%{
Switch($_){
{$_.StartsWith("4")}{$Fours+=$_}
{$_.StartsWith("6")}{$Sixes+=$_}
}
}
答案 3 :(得分:0)
如果是我,我只会使用正则表达式。
这样的模式将抓住你需要的一切。
`'^[4|6](?<Stuff>.*)$'`