Ta bort citattecken från en sträng

JavaScript:
Ta bort citattecken från en sträng

Hur gör man:

Tänk dig att du har en sträng som är omsluten av dubbla citattecken, som "\"Hej, världen!\"" och du vill ha texten ren, utan citattecken. Här är ett snabbt JavaScript-utdrag för att befria din sträng från dessa citatteckensbojor:

let quotedString = "\"Hej, världen!\"";
let unquotedString = quotedString.replace(/^"|"$/g, '');
console.log(unquotedString); // Utdata: Hej, världen!

Och om du hanterar enkla citattecken? Justera bara regex lite:

let singleQuotedString = "'Hej, världen!'";
let unquotedString = singleQuotedString.replace(/^'|'$/g, '');
console.log(unquotedString); // Utdata: Hej, världen!

Eller vad händer om din sträng är en blandning av båda? Inga problem:

let mixedQuotedString = "\"'Hej, världen!'\"";
let unquotedString = mixedQuotedString.replace(/^["']|["']$/g, '');
console.log(unquotedString); // Utdata: 'Hej, världen!'

Fördjupning

Innan JSON tog över var det att undkomma citattecken ett vilt västern av bakstreck och hack. Tidiga programmeringsspråk spelade inte alltid bra med citattecken vilket innebar mycket manuell strängmanipulering. Nu, med standardiserade dataformat, handlar det ofta om att rensa upp inmatningar innan de bearbetas som JSON eller lagrar text utan formateringskonflikter.

Alternativ till .replace()? Självklart! Du kan dela och förena en sträng på citattecken, använda slice om du är säker på dina citatteckens positioner, eller till och med regex matchning för att dra ut den nödvändiga texten. Allt beror på sammanhanget.

Men glöm inte bort specialfall: citattecken inuti citattecken, undkomna citattecken och internationella tecken. Tänk på din sträng som ett potentiellt minfält av undantag, och trampa varsamt. Moderna JavaScript-motorer är optimerade för att hantera regex-operationer effektivt, så de är vanligtvis att föredra, men det är alltid värt att kontrollera prestanda för uppgifter med tung databearbetning.

Se även

Fördjupa dig i strängmanipulering och regex: