PowerShell Import-CSV,对于每个项目,删除符号后的字符串

时间:2016-11-10 15:15:49

标签: string powershell csv

如果您有这样的列表:

User1.XXXX
User2.XXXXX
User3.XXX

如何为每个循环创建一个并在句点之后删除所有内容?另外你怎么删除之前的一切?我只写了基础知识,尝试用.substring等操作它的一些误导尝试......:

$allUsers = Import-Csv -path "c:\Folder1\All User.csv"
$allUsers | foreach {

} | Export-Csv -Path "c:\Folder1\Removed.csv"

1 个答案:

答案 0 :(得分:2)

在这种情况下最简单的方法是使用Split方法:

$allUsers = Get-Content somepath | foreach {
    $_.Split('.')[0]
} | Set-Content somepath

[0]从Split创建的元素数组中取出第一个元素,在你的情况下会有2个元素,点之前的所有元素和点之后的所有元素。您可以使用[1]而不是[0]取点后的所有内容 此外,您不想使用Import-Csv,因为在这种情况下,使用原始数据会更容易。

编辑:因为我不确定你的实际CSV是什么样的,你可能想要使用这样的东西:

$data = Import-CSV somepath
$results = @()
foreach ($line in $data) {
    $line.Column_that_needs_editing = $line.Column_that_needs_editing.Split('.')[0]
    $results += $_
}

$results | Export-CSV someotherpath