powershell - 用于删除列标题(.csv 文件)中的特殊字符的 Power shell 代码
问题描述
我正在尝试遍历路径中的 40 个 CSV 文件,并仅在标题中删除任何不是数字、字母和空格值的字符。
下面是我尝试处理的代码,这适用于文件中的标题,但也适用于文件中的所有数据,我只能看到没有特殊字符的标题,我只是 power shell 的初学者,不是非常感谢您确定如何进一步进行任何帮助。
$path = "C:\AllFiles\"
Get-ChildItem -path $path -Filter *.csv |
Foreach-Object {
$content = Get-Content $_.FullName
$content[0] = $content[0] -replace '[^0-9a-zA-Z, ]'|Set-Content $_.FullName
}
解决方案
-replace 运算符需要两个值,第一个值是您要查找的值,第二个值是要替换第一个值的值。
例子:
"John Jones" -replace "Jones","Smith"
这将用文本“Smith”替换“Jones”,创建一个新字符串“John Smith”
在您的示例中,不要创建要保留的正则表达式,而是创建要替换的正则表达式。
例子:
$path = "C:\AllFiles\"
Get-ChildItem -path $path -Filter *.csv |
Foreach-Object {
$content = Get-Content -Path $path
$content[0] = $content[0] -replace '[regex for special chars]',""
Set-Content $path -value $content -force
}
这将用一个字符串替换整个字符串,其中您已将正则表达式值替换为 ""
推荐阅读
- c# - 当我发送超过过期日期的令牌时,为什么会收到 401 错误?
- java - 如何使用 jberet-ui 创建基于日历的日程安排?
- model-view-controller - MVC5 Outputcache 没有按照文档工作
- c++ - 如何在 C++ 中划分高精度抽象数据类型?
- python - 如何展平包含值中的列表和字典的嵌套字典并将其导出为电子表格
- sql-server - 动态创建不同行的列表,然后旋转?
- directus - 通过 Javascript SDK 6.1.1 连接
- spring-security - Spring security /oauth/check_token API 性能问题
- python - 使用 BeautifulSoup 进行网页抓取只能获取一半的项目
- json - 将 Aeson 解码为泛型类型时遇到问题