Merkkijonosta lainausmerkkien poistaminen

PowerShell:
Merkkijonosta lainausmerkkien poistaminen

Kuinka:

Voit käyttää -replace-operaattoria poistaaksesi lainausmerkit merkkijonosta. Näin se tapahtuu:

# Korvaa yksittäiset lainausmerkit
$stringWithSingleQuotes = "'Hello, World!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString  # Tuloste: Hello, World!

# Korvaa kaksinkertaiset lainausmerkit
$stringWithDoubleQuotes = '"Hello, World!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString  # Tuloste: Hello, World!

Molemmille tyypeille:

$stringWithQuotes = '"Hi there," she said.'
$cleanString = $stringWithQuotes -replace "[\"']", ""  # Huomaa regex-luokkamerkkien käyttö
Write-Output $cleanString  # Tuloste: Hi there, she said.

Konsolin näyteulostus näyttää jotakuinkin tältä:

Hello, World!
Hello, World!
Hi there, she said.

Syväsukellus

Ennen PowerShellin aikaa, kun se oli vasta pilke Microsoftin silmäkulmassa, tekstinkäsittely Windowsissa oli usein erja-skriptien aluetta, joilla oli rajoitettuja ominaisuuksia. PowerShellin esittely toi mukanaan tehokkaita merkkijononkäsittelyominaisuuksia, jotka tekivät skriptauksesta paljon monipuolisempaa.

Vaihtoehtoja -replace:lle on olemassa, kuten .Trim()-metodin käyttäminen lainausmerkkien poistamiseen vain merkkijonon alusta ja lopusta, mutta ne eivät tarjoa samaa hallintaa tai regex-tukea.

# Käyttäen .Trim():ia lainausmerkkien poistoon alusta ja lopusta
$stringWithQuotes = '"Hello, World!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString  # Tuloste: Hello, World!

Huomaa, että -replace käyttää regexiä taustalla, joten kun työskentelet sen kanssa, pidä mielessä, että erikoismerkit on pakotettava, jos olet kohdentamassa niitä. Jos tarvitset tarkempaa hallintaa lainausmerkkien poistossa, syventyminen regexiin -replace-avulla on tie eteenpäin, antaen sinulle valtavan joustavuuden.

Katso myös