如何使用PowerShell删除特殊格式(选项卡、回车、退格、换行等)
我想使用PowerShell删除这些回车符(或者至少我认为它们是这样的),但这样做有困难。我用过: -替换“n” -替换“t” -将“`b”替换为“ -将“`r”替换为“ 似乎什么都不管用。有什么建议吗?尝试使用正则表达式:如何使用PowerShell删除特殊格式(选项卡、回车、退格、换行等),powershell,tabs,character,Powershell,Tabs,Character,我想使用PowerShell删除这些回车符(或者至少我认为它们是这样的),但这样做有困难。我用过: -替换“n” -替换“t” -将“`b”替换为“ -将“`r”替换为“ 似乎什么都不管用。有什么建议吗?尝试使用正则表达式: [regex]::Replace("←xxxx←", "←" , "" ) # give xxxx 或者如果值是数字 [regex]::Replace("←356←", "\D" , "" ) # give 356 尝试使用正则表达式: [regex]::Replace
[regex]::Replace("←xxxx←", "←" , "" ) # give xxxx
或者如果值是数字
[regex]::Replace("←356←", "\D" , "" ) # give 356
尝试使用正则表达式:
[regex]::Replace("←xxxx←", "←" , "" ) # give xxxx
或者如果值是数字
[regex]::Replace("←356←", "\D" , "" ) # give 356
如果您想对删除进行外科手术,一种粗糙但有效的方法是使用.Net ASCII编码对象获取违规字符的数值: 对于文本行中的每个字符,该代码将输出该字符,然后输出其数值。它看起来像这样(括号中的字符不会出现在实际输出中,它们是为了澄清): 通过对CSV文件的一行运行它,您应该能够检测到需要剥离的内容。然后,可以通过将数值转换回它所表示的ASCII字符来执行替换。例如,这两条语句都将从文本中删除一个`b字符:
$text -replace "`b",""
$text -replace $enc.GetChars(8),""
如果您想对删除进行外科手术,一种粗糙但有效的方法是使用.Net ASCII编码对象获取违规字符的数值: 对于文本行中的每个字符,该代码将输出该字符,然后输出其数值。它看起来像这样(括号中的字符不会出现在实际输出中,它们是为了澄清): 通过对CSV文件的一行运行它,您应该能够检测到需要剥离的内容。然后,可以通过将数值转换回它所表示的ASCII字符来执行替换。例如,这两条语句都将从文本中删除一个`b字符:
$text -replace "`b",""
$text -replace $enc.GetChars(8),""