PowerShell:
Fjerne anførselstegn fra en streng
Hvordan:
Du kan bruke -replace
operatøren for å fjerne anførselstegn fra en streng. Slik gjør du det:
# Erstatt enkle anførselstegn
$stringWithSingleQuotes = "'Hallo, verden!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString # Utdata: Hallo, verden!
# Erstatt doble anførselstegn
$stringWithDoubleQuotes = '"Hallo, verden!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString # Utdata: Hallo, verden!
For begge typer:
$stringWithQuotes = '"Hei på deg," sa hun.'
$cleanString = $stringWithQuotes -replace "[\"']", "" # Merk bruk av regex-tegnklasse
Write-Output $cleanString # Utdata: Hei på deg, sa hun.
Eksempelutdata fra konsollen vil se omtrent slik ut:
Hallo, verden!
Hallo, verden!
Hei på deg, sa hun.
Dybdeplukking
Tilbake i tiden, før PowerShell var en glimt i Microsofts øye, var tekstbehandling i Windows ofte domenet til batch-skript som hadde begrensede evner. Innføringen av PowerShell brakte med seg kraftfulle strengmanipuleringsfunksjoner som gjorde skripting mye mer robust.
Det finnes alternativer til -replace
, som å bruke .Trim()
-metoden for å fjerne anførselstegn kun i starten og slutten av en streng, men de tilbyr ikke den samme kontrollen eller regex-støtten.
# Bruker .Trim() for anførselstegn på starten og slutten
$stringWithQuotes = '"Hallo, verden!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString # Utdata: Hallo, verden!
Merk at -replace
bruker regex i bakgrunnen, så når du arbeider med det, husk at spesielle tegn må unnslippe hvis du målretter dem. Hvis du trenger mer detaljert kontroll over fjerningen av anførselstegn, er å dykke inn i regex med -replace
veien å gå, noe som gir deg enorm fleksibilitet.
Se Også
- For mer om regex i PowerShell, sjekk de offisielle dokumentene: about_Regular_Expressions
- Oppdag andre strengmetoder: Trim(), TrimStart(), TrimEnd()