Powershell:找出字符串中的字符

时间:2016-05-13 11:55:45

标签: csv powershell

我有一个问题,当我从csv导入时,我会在每个字符之间获得这些空格。解决这个问题的简单方法是将csv编码更改为ansi / ascii,但这只会在打开文件并保存为指定编码时进行。我试过了:

(Get-Content -Path $path) | Out-file -FilePath $path -Encoding "ASCII"

起初我认为这有效,但这是因为我之前已经完成了文件中的保存并忘记了它。

我导入的csv在导入之前看起来像这样。

C:\temp,C:\temp,17.2MB, 0

但是当导入csv时,像字符这样的空间会涉及:

Screen

我不知道你能在那张照片中看到它的效果如何,但文字是:

C : \ t e m p, C : \ t e m p, 1 7 . 2 M B, 0

此空间阻止我搜索我的数据。

基本上有办法找出那个角色是什么,所以我可以摆脱它吗?还是有另一种方法来改变编码?

1 个答案:

答案 0 :(得分:1)

当我们无法访问该文件时,我们很难回答您的编码,但很明显,将文件编码保存为使用更多位(ex 16 / 32bit)然后编码PowerShell猜对了是(例如7 / 8bit,因为你没有指定编码)。

使用Import-CSV(UTF16),Import-CSV -Path Myfile.csv -Encoding Unicode等在-Encoding UTF32 - 命令中尝试不同的编码。