我有一个变量,具有以下字符串值:
PS C:\> $sql.physicalname
I:\Data\Data1.mdf
I:\Data\Data2.ndf
I:\Data\Data3.ndf
I:\Data\Data4.ndf
I:\Data\Data5.ndf
I:\Data\Data6.ndf
I:\Data\Data7.ndf
I:\Data\Data8.ndf
I:\Data\Data9.ndf
I:\Data\log.ldf
我想要的是替换/修剪字符串,以便仅保留.mdf / .ndf / .ldf扩展名:
.mdf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ndf
.ldf
我尝试将
-replace
参数与*
通配符一起使用,但无法将其包围。 最佳答案
由于这是您传递给-replace
的正则表达式,请尝试使用它,例如与
-replace ".*\.", "."
更好,更可靠的方法是使用类似的方法
$sql.physicalname | % { [System.IO.Path]::GetExtension($_) }
关于powershell - 在文件扩展名之前替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37858867/