【发布时间】:2017-10-24 17:18:10
【问题描述】:
我希望在 .csv 文件中捕获无效字符。目前我只能捕获所有非英语的无效字符,是否可以捕获除英语和 Germany 之外的所有无效字符?
以下代码可以过滤非英文字母的无效字符。
$path = "product.csv"
$a = Get-Content $path | Select-String -AllMatches -Pattern "[^\x00-\x79]" | Select-Object LineNumber,Line,@{Name='String';Expression={$_.Matches.Value}}
$b = $a.count
$a
Write-Host "Total: $b"
人名中包含的所有德国字符都算作有效字符。
【问题讨论】:
-
如果您想检查文件路径中的无效字符,请查看GetInvalidFileNameChars()
-
不好意思我忘了说,这个get-content是读取.csv文件的内容,不是文件名。
-
是否有意允许使用字符“[]”但不允许使用“{}”?
-
到底什么是“无效字符”?这个概念没有意义。你想达到什么目的?
-
@Tomalak 嗨,谢谢你的提问。模式内的值是错误的,仅作为示例。这个脚本基本上扫描包含人名的 .csv 表单,日期这些公共属性,所以我将消除那些符号,如 !,* 被认为是人名、地址等的无效字符......跨度>
标签: regex powershell