首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于删除列标题中特殊字符的Power shell代码(.csv文件)

用于删除列标题中特殊字符的Power shell代码(.csv文件)
EN

Stack Overflow用户
提问于 2020-02-12 23:07:42
回答 4查看 1K关注 0票数 1

我尝试循环通过路径中的40个CSV文件,并删除标题中不是数字、字母和空格值的任何字符。

下面是我尝试过的代码,这是文件中的头文件,但也替换了文件中的所有数据,我只能看到没有特殊字符的头文件,我只是power shell的初学者,不知道如何继续下去,非常感谢任何帮助。

代码语言:javascript
复制
$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

}
EN

Stack Overflow用户

发布于 2020-02-12 23:34:44

-replace运算符需要两个值,第一个值是您要查找的值,第二个值是要用来替换第一个值的值。

示例:"John Jones" -replace "Jones","Smith"

这将用创建新字符串"John Smith“的文本"Smith”替换"Jones“

在您的示例中,不是创建要保留的正则表达式,而是创建要替换的正则表达式。

示例:

代码语言:javascript
复制
$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
}

这会将整个字符串替换为您已将regex值替换为"“的字符串

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60191348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档