在Powershell中,如果大写字母后跟小写字母,请替换

时间:2020-01-02 17:15:03

标签: powershell

我有一个Powershell脚本,该脚本将从一些Excel电子表格中提取数据到一个文本文件中。然后,它查找大写字母“ D”,并在其前加上换行符,然后删除所有空行。我遇到的是有些字段包含以D开头的名称,并且在不需要时会添加新行。 IE,Field1格式为“ H1234DavidLastname”,Field2格式为“ DCODE”。我需要在Field2中添加新行,但跳过Field1。

这就是我现在拥有的:

$PRN = ("file_path")

$con = Get-Content $PRN

$con | % { $_.Replace("D", "`r`nD") } | ? {$_.trim() -ne "" } | Set-Content $PRN | Out-Null

我尝试使用if语句仅查找具有大写字母的字段,但结果与原始脚本相同。

if ($con -cmatch "[A-Z]"){

$con | % { $_.Replace("D", "`r`nD") } | ? {$_.trim() -ne "" } | Set-Content $PRN | Out-Null

}

有什么想法吗?

0 个答案:

没有答案
相关问题