这是一个RegEx问题,而不是PS问题。下面是:
我有一个文本文件,数据如下所示。
ABC Corp, x567
xyz Corp, y567
pqr Corp, m567
ghysds ,inc, x567
TRWsdsdsds ,org, y567
TYUds ,ing, m567
如何从第4-6行删除第一个逗号?(这些行有两个逗号。我只需要第二个。)我的计划是将这些数据插入一个包含2列的表中。
谢谢。
发布于 2014-03-14 01:16:10
您必须使用“向前看”来检查线路上是否有第二个逗号。
,(?=.*,)
用空字符串替换它匹配的任何内容。这将去掉包含两个逗号的行的第一个逗号。
发布于 2014-03-14 01:23:36
这是我的:
$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
发布于 2014-03-14 01:17:20
您实际上不需要正则表达式,尽管它可以工作。
$StringList = @('abd,asdc,asdc', 'asdc,awegwe,aweg', 'asdfasdf,asdaweg');
foreach ($String in $StringList) {
if ($String -match '.*,.*,') {
$String.Remove($String.IndexOf(','), 1);
}
else {
$String;
}
}
https://stackoverflow.com/questions/22394123
复制相似问题