Eliminando comillas de una cadena

PowerShell:
Eliminando comillas de una cadena

Cómo hacerlo:

Puedes usar el operador -replace para quitar las comillas de una cadena. Así es como:

# Reemplazar comillas simples
$stringWithSingleQuotes = "'¡Hola, Mundo!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString  # Salida: ¡Hola, Mundo!

# Reemplazar comillas dobles
$stringWithDoubleQuotes = '"¡Hola, Mundo!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString  # Salida: ¡Hola, Mundo!

Para ambos tipos:

$stringWithQuotes = '"Hola," dijo ella.'
$cleanString = $stringWithQuotes -replace "[\"']", ""  # Nota el uso de clase de caracteres regex
Write-Output $cleanString  # Salida: Hola, dijo ella.

La salida de muestra de la consola se verá algo así:

¡Hola, Mundo!
¡Hola, Mundo!
Hola, dijo ella.

Profundización

En los viejos tiempos, antes de que PowerShell fuera una chispa en el ojo de Microsoft, el procesamiento de textos en Windows era a menudo dominio de scripts por lotes que tenían capacidades limitadas. La introducción de PowerShell trajo consigo potentes características de manipulación de cadenas que hicieron que los scripts fueran mucho más robustos.

Existen alternativas a -replace, como usar el método .Trim() para eliminar comillas solo al inicio y al final de una cadena, pero no ofrecen el mismo control o soporte de regex.

# Usando .Trim() para comillas al inicio y al final
$stringWithQuotes = '"¡Hola, Mundo!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString  # Salida: ¡Hola, Mundo!

Ten en cuenta que -replace utiliza regex detrás de escenas, así que cuando trabajes con él, recuerda que los caracteres especiales necesitan ser escapados si los estás apuntando. Si necesitas un control más granular sobre la eliminación de comillas, sumergirte en regex con -replace es el camino a seguir, dándote una inmensa flexibilidad.

Ver También