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:
- Sieć deweloperów Mozilli na temat String.replace(): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
- Regex101 do testowania Twoich wzorców wyrażeń regularnych: https://regex101.com/
- JSON.org, aby zrozumieć, dlaczego w nowoczesnym rozwoju webowym mamy do czynienia z tak wieloma cudzysłowami: http://json.org/