首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >搜索字符串并替换行中的另一个字符串

搜索字符串并替换行中的另一个字符串
EN

Stack Overflow用户
提问于 2022-08-16 13:11:36
回答 1查看 33关注 0票数 0

我有一个csv文件,其中有这样的数据:

代码语言:javascript
运行
复制
"89216865";"89216865";"Alternator";"PowerMax";"4543"
"MG 149";"MG 149";"MAHLE Alternator";"MAHLE AM GmbH";"4543"
"MG 258";"MG 258";"MAHLE Alternator";"MAHLE AM GmbH";"4543"
"MS 222";"MS 222";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 241";"MS 241";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 29";"MS 29";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 386";"MS 386";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 645";"MS 645";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"MS 230";"MS 230";"MAHLE Starter";"MAHLE AM GmbH";"4543"
"3300216";"3300216";"Alternator OE";"PowerMax";"4543"
"9213171";"9213171";"Alternator";"PowerMax";"4543"
"8212676";"8212676";"Starter";"PowerMax";"4543"
"9214266";"9214266";"Alternator";"PowerMax";"4543"

在出现"MAHLE“的每一行中,我都需要将字符串"4543”替换为"287“。

我试过这个。

代码语言:javascript
运行
复制
Get-Content "C:\Users\SvcBI\Documents\Autodoc\Autodoc_Temp.csv" | 
Foreach-Object ($_ -match "MAHLE AM GmbH") {-replace "4543", "287"} | 
Set-Content C:\Users\SvcBI\Documents\Autodoc\POWERMAX_DK_2.csv

请帮助/Kim

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-16 18:05:19

看起来你在使用Powershell。

一种方法是读取行,如果行包含值,则执行替换操作。

参见this page关于$_的含义

代码语言:javascript
运行
复制
Get-Content "C:\Users\SvcBI\Documents\Autodoc\Autodoc_Temp.csv" | ForEach-Object {
    if($_.Contains("MAHLE AM GmbH")) {
        $_.Replace("4543", "287") 
    } else { $_ }
} | Set-Content C:\Users\SvcBI\Documents\Autodoc\POWERMAX_DK_2.csv
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73374567

复制
相关文章

相似问题

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