如果您有这样的列表:
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"
答案 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