/ / Como remover curinga na string? - PowerShell, PowerShell-v3.0

Como remover o curinga na string? - powershell, powershell-v3.0

Estou tentando o seguinte ...

$string = "*abc*"
$string = $string -replace "*",""
Write-Host $string

mas receba o seguinte erro

O padrão de expressão regular não é válido: *. Em C: ScriptsTeststesting.ps1: 3 char: 1 + $ string = $ string -replace "*", "" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (*: String) [], RuntimeException + FullyQualifiedErrorId: InvalidRegularExpression

Eu tentei -replace, .replace, .trim, mas nenhum deles está funcionando porque todos estão lendo como uma expressão regular. Eu também tentei "`*", e ainda não funciona.

Alguém sabe como fazer o sistema não ler como um regex?

Respostas:

2 para resposta № 1

Tente usar escapá-lo em vez do bastão.


1 para resposta № 2

Você poderia tentar isso?

$string = $string.replace("*","")

Espero que funcione!


1 para resposta № 3

Você pode usar colchetes para remover os caracteres.

$string = $string -replace "[*]", ""

0 para a resposta № 4

Se você não deseja que o sistema use regex, não deve usar um operador de regex como -replace. O método de string .Replace() funcionaria tão bem. Você disse .Trim() também não funcionou, mas de fato funciona. Possivelmente e emita com seus dados reais como deveria ser o seu exemplo na pergunta.

PS C:temp> ""{0}"" -f "*abc*".replace("*","")
"abc"

PS C:temp> ""{0}"" -f "*abc*".Trim("* ")
"abc"

PS C:temp> ""{0}"" -f "*  abc* ".Trim("* ")
"abc"