我如何使用PowerShell(标签,Cariage回车键,退格,换行,以及更多)
我想用PowerShell来删除这些回车(或至少我认为这是它们是什么),但除去特殊格式我遇到麻烦了。我用:
-replace “`N”, “”
-replace “'T”, “”
-replace “`B”, “”
“替换”r“,”“
没有什么似乎工作。有什么建议么?
我如何使用PowerShell(标签,Cariage回车键,退格,换行,以及更多)
我想用PowerShell来删除这些回车(或至少我认为这是它们是什么),但除去特殊格式我遇到麻烦了。我用:
-replace “`N”, “”
-replace “'T”, “”
-replace “`B”, “”
“替换”r“,”“
没有什么似乎工作。有什么建议么?
尝试使用正则表达式:
[regex]::Replace("←xxxx←", "←" , "") # give xxxx
,或者值为数字
[regex]::Replace("←356←", "\D" , "") # give 356
如果要进行手术有关的缺失,一个原油,但有效的方法是使用的.Net ASCII编码对象以获得有问题字符的数字值:
$text = "Test`n`b`r"
$enc = New-Object System.Text.ASCIIEncoding
$text.ToCharArray() | Foreach-Object { echo "$($_) $($enc.GetBytes($_))" }
对于每个字符一行文本,该代码将输出该字符,然后输出其数值。它会是这个样子(括号内将不会出现在实际输出的字符,他们在那里澄清):
T 84
e 101
s 115
t 116
10 (`n)
8 (`b)
13 (`r)
运行一下对你的CSV文件的一行,你应该能够检测什么需要被剥离。然后,您可以通过将数字值转换回其代表的ASCII字符来执行替换。举例来说,这两个语句会从你的文字删除`b人物:
$text -replace "`b",""
$text -replace $enc.GetChars(8),""