首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PowerShell字符串替换RegEx

使用PowerShell字符串替换RegEx
EN

Stack Overflow用户
提问于 2014-03-14 00:56:56
回答 3查看 850关注 0票数 0

这是一个RegEx问题,而不是PS问题。下面是:

我有一个文本文件,数据如下所示。

代码语言:javascript
运行
复制
ABC Corp, x567 
xyz Corp, y567 
pqr Corp, m567 
ghysds ,inc, x567 
TRWsdsdsds ,org, y567 
TYUds ,ing, m567

如何从第4-6行删除第一个逗号?(这些行有两个逗号。我只需要第二个。)我的计划是将这些数据插入一个包含2列的表中。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-14 01:16:10

您必须使用“向前看”来检查线路上是否有第二个逗号。

代码语言:javascript
运行
复制
,(?=.*,)

用空字符串替换它匹配的任何内容。这将去掉包含两个逗号的行的第一个逗号。

票数 2
EN

Stack Overflow用户

发布于 2014-03-14 01:23:36

这是我的:

代码语言:javascript
运行
复制
$text = 
(@'
ABC Corp, x567
xyz Corp, y567 
pqr Corp, m567 
ghysds ,inc, x567 
TRWsdsdsds ,org, y567 
TYUds ,ing, m567
'@).split("`n")

$text -replace '(.+?),(.+?),(.+)','$1$2,$3'

ABC Corp, x567
xyz Corp, y567 
pqr Corp, m567 
ghysds inc, x567 
TRWsdsdsds org, y567 
TYUds ing, m567
票数 1
EN

Stack Overflow用户

发布于 2014-03-14 01:17:20

您实际上不需要正则表达式,尽管它可以工作。

代码语言:javascript
运行
复制
$StringList = @('abd,asdc,asdc', 'asdc,awegwe,aweg', 'asdfasdf,asdaweg');

foreach ($String in $StringList) {
    if ($String -match '.*,.*,') {
        $String.Remove($String.IndexOf(','), 1);
    }
    else {
        $String;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22394123

复制
相关文章

相似问题

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