Quotes verwijderen uit een string

PowerShell:
Quotes verwijderen uit een string

Hoe te:

Je kunt de -replace operator gebruiken om aanhalingstekens uit een tekenreeks te verwijderen. Zo doe je dat:

# Enkele aanhalingstekens vervangen
$stringWithSingleQuotes = "'Hallo, Wereld!'"
$cleanString = $stringWithSingleQuotes -replace "'", ""
Write-Output $cleanString  # Uitvoer: Hallo, Wereld!

# Dubbele aanhalingstekens vervangen
$stringWithDoubleQuotes = '"Hallo, Wereld!"'
$cleanString = $stringWithDoubleQuotes -replace '"', ""
Write-Output $cleanString  # Uitvoer: Hallo, Wereld!

Voor beide typen:

$stringWithQuotes = '"Hallo daar," zei ze.'
$cleanString = $stringWithQuotes -replace "[\"']", ""  # Let op het gebruik van regex-tekenklasse
Write-Output $cleanString  # Uitvoer: Hallo daar, zei ze.

Voorbeelduitvoer van de console ziet er ongeveer zo uit:

Hallo, Wereld!
Hallo, Wereld!
Hallo daar, zei ze.

Diepere Duik

In de dagen voordat PowerShell een schittering in Microsoft’s oog was, was het verwerken van tekst in Windows vaak het domein van batchscripts die beperkte mogelijkheden hadden. De introductie van PowerShell bracht krachtige functies voor tekenreeksmanipulatie met zich mee die scripting veel robuuster maakten.

Alternatieven voor -replace bestaan, zoals het gebruik van de .Trim() methode om aanhalingstekens alleen aan het begin en einde van een tekenreeks te verwijderen, maar deze bieden niet dezelfde controle of ondersteuning voor regex.

# .Trim() gebruiken voor aanhalingstekens aan het begin en einde
$stringWithQuotes = '"Hallo, Wereld!"'
$cleanString = $stringWithQuotes.Trim('"')
Write-Output $cleanString  # Uitvoer: Hallo, Wereld!

Let op, -replace gebruikt achter de schermen regex, dus als je ermee werkt, houd er rekening mee dat speciale tekens moeten worden ontsnapt als je ze target. Als je meer gedetailleerde controle over het verwijderen van aanhalingstekens nodig hebt, is het dieper induiken in regex met -replace de weg te gaan, waardoor je enorme flexibiliteit krijgt.

Zie Ook