Usuwanie cudzysłowów z ciągu znaków

JavaScript:
Usuwanie cudzysłowów z ciągu znaków

Jak to zrobić:

Wyobraź sobie, że masz ciąg znaków otoczony podwójnymi cudzysłowami, takimi jak "\"Hello, World!\"" i chcesz uzyskać czysty tekst bez cudzysłowów. Oto szybki fragment kodu JavaScript, który uwolni twój ciąg znaków z tych łańcuchów cudzysłowu:

let quotedString = "\"Hello, World!\"";
let unquotedString = quotedString.replace(/^"|"$/g, '');
console.log(unquotedString); // Wynik: Hello, World!

A jeśli masz do czynienia z pojedynczymi cudzysłowami? Wystarczy nieco zmodyfikować wyrażenie regularne:

let singleQuotedString = "'Hello, World!'";
let unquotedString = singleQuotedString.replace(/^'|'$/g, '');
console.log(unquotedString); // Wynik: Hello, World!

A co jeśli twój ciąg znaków to mieszanka obu? Nie ma problemu:

let mixedQuotedString = "\"'Hello, World!'\"";
let unquotedString = mixedQuotedString.replace(/^["']|["']$/g, '');
console.log(unquotedString); // Wynik: 'Hello, World!'

W głąb tematu

Zanim JSON przejął kontrolę, unikanie cudzysłowów było dzikim zachodem pełnym ukośników wstecznych i obejść. Wczesne języki programowania nie zawsze dobrze radziły sobie z cudzysłowami, co oznaczało wiele ręcznej manipulacji ciągami znaków. Teraz, przy ustandaryzowanych formatach danych, usuwanie cudzysłowów często dotyczy oczyszczania danych wejściowych przed ich przetworzeniem jako JSON lub zapisywaniem tekstu bez konfliktów formatowania.

Alternatywy dla .replace()? Jasne! Możesz podzielić i połączyć ciąg znaków w miejscach cudzysłowów, użyć metody slice, jeśli jesteś pewien pozycji swoich cudzysłowów, albo nawet dopasować wyrażenia regularne, aby wyodrębnić potrzebny tekst. Wszystko zależy od kontekstu.

Ale nie zapomnij o przypadkach brzegowych: cudzysłowy w cudzysłowach, cudzysłowy uciekające i znaki międzynarodowe. Pomyśl o swoim ciągu znaków jako o potencjalnym polu minowym wyjątków i postępuj ostrożnie. Nowoczesne silniki JavaScript są zoptymalizowane do efektywnego przetwarzania operacji z wyrażeniami regularnymi, więc to zazwyczaj metoda pierwszego wyboru, ale zawsze warto sprawdzić wydajność przy zadaniach z intensywnym przetwarzaniem danych.

Zobacz również

Zagłęb się w manipulację ciągami znaków i wyrażeniami regularnymi: