可能是一个简单的问题,但似乎找不到其他地方的答案。
我已将SharePoint列表导出为包含几个人员和组选择器字段的csv,导出时会添加人员/组名称前面的唯一ID:
123; #Bob Smith
我想要实现的是它显示Bob Smith作为值删除;#和之前的所有内容。
非常感谢任何帮助。
答案 0 :(得分:3)
尝试此操作,其中NameOfField是您要清理的字段或属性的名称。
$results = Import-CSV pathtofile.csv | Select-Object *,@{n='NameOfField';e={$_.NameOfField -replace '.*;#'}} -excludeproperty NameOfField
$results | Export-CSV pathtonewfile.csv -NoTypeInformation
答案 1 :(得分:1)
好的,感谢您展示您的代码(如果您编辑问题而不是将其置于评论中,下次会更好。)
这将加载CSV文件,对于每个记录,它将替换不需要的文本,并输出修改后的记录,并输出到更新的文件。
import-csv C:\temp\Assets.csv|%{
$_.UserName = $_.UserName -replace ".*;#"
$_
}|export-csv c:\temp\assets2.csv -notype