2011-09-26 198 views

回答

0

尝试使用正则表达式:

[regex]::Replace("←xxxx←", "←" , "") # give xxxx 

,或者值为数字

[regex]::Replace("←356←", "\D" , "") # give 356 
1

如果要进行手术有关的缺失,一个原油,但有效的方法是使用的.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),""