PowerShell:
Removendo aspas de uma string

Como fazer:

Você pode utilizar o operador -replace para retirar aspas de uma string. Veja como:

# Substituir aspas simples
$stringComAspasSimples = "'Olá, Mundo!'"
$stringLimpo = $stringComAspasSimples -replace "'", ""
Write-Output $stringLimpo  # Saída: Olá, Mundo!

# Substituir aspas duplas
$stringComAspasDuplas = '"Olá, Mundo!"'
$stringLimpo = $stringComAspasDuplas -replace '"', ""
Write-Output $stringLimpo  # Saída: Olá, Mundo!

Para ambos os tipos:

$stringComAspas = '"Oi, lá," ela disse.'
$stringLimpo = $stringComAspas -replace "[\"']", ""  # Note o uso de classe de caracteres regex
Write-Output $stringLimpo  # Saída: Oi, lá, ela disse.

A saída de exemplo do console será algo assim:

Olá, Mundo!
Olá, Mundo!
Oi, lá, ela disse.

Aprofundamento

Nos velhos tempos, antes do PowerShell ser um vislumbre nos olhos da Microsoft, o processamento de texto no Windows era frequentemente o domínio de scripts em lote que tinham capacidades limitadas. A introdução do PowerShell trouxe consigo poderosos recursos de manipulação de strings que tornaram a scriptagem muito mais robusta.

Existem alternativas ao -replace, como usar o método .Trim() para remover aspas apenas no início e no final de uma string, mas elas não oferecem o mesmo controle ou suporte a regex.

# Usando .Trim() para aspas no início e no fim
$stringComAspas = '"Olá, Mundo!"'
$stringLimpo = $stringComAspas.Trim('"')
Write-Output $stringLimpo  # Saída: Olá, Mundo!

Note que, -replace usa regex por trás dos panos, então, quando você estiver trabalhando com ele, tenha em mente que caracteres especiais precisam ser escapados se você estiver mirando neles. Se você precisar de um controle mais granular sobre a remoção de aspas, mergulhar no regex com -replace é o caminho a seguir, oferecendo-lhe imensa flexibilidade.

Veja Também