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

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

Jak to zrobić:

Oto Twój bezpośredni przewodnik, jak uwolnić Twoje stringi od tych irytujących znaków cudzysłowu w TypeScript.

// Opcja A: Zastępowanie pojedynczych lub podwójnych cudzysłowów za pomocą regex
function removeQuotes(input: string): string {
  return input.replace(/^["']|["']$/g, '');
}

console.log(removeQuotes(`"Quoted string"`)); // Quoted string
console.log(removeQuotes(`'Another one'`)); // Another one

// Opcja B: Radzenie sobie ze stringami, które zaczynają się i kończą na różne cudzysłowy
function removeMismatchedQuotes(input: string): string {
  return input.replace(/^(['"])(.*?)(?<!\1)\1$/, '$2');
}

console.log(removeMismatchedQuotes(`"Mismatched'`)); // "Mismatched'

// Opcja C: Usuwanie wielu rodzajów cudzysłowów
function removeAllQuotes(input: string): string {
  return input.replace(/['"]+/g, '');
}

console.log(removeAllQuotes(`"'Mix'n'Match'"`)); // Mix'n'Match

Głębsze spojrzenie

Dawno, dawno temu, zanim TypeScript stał się rzeczą, programiści JavaScript już mierzyli się z cudzysłowowymi sztuczkami, i historia jest mniej więcej taka sama w przypadku TypeScript. Wraz ze zmianą czasów zmienia się także sposób, w jaki dzielimy stringi. Obecnie, z siłą mięśni regex, odsuwamy na bok uciążliwe cięcie stringów lub inne żmudne metody.

Chociaż powyższe przykłady powinny pokryć większość Twoich potrzeb, pamiętaj, że cytowanie może być skomplikowane. Zagnieżdżone, niepasujące do siebie i uciekające cudzysłowy to psotniki, które czekają, by Cię potknąć. W tych przypadkach, możesz potrzebować bardziej wyrafinowanych wzorców lub nawet parserów, aby poradzić sobie z każdym krętym przypadkiem.

Alternatywy? Niektórzy ludzie wolą korzystać z bibliotek takich jak lodash, z metodami takimi jak trim i trimStart / trimEnd, które można dostosować do przycinania cudzysłowów, jeśli ustalisz znaki, które chcesz przyciąć.

A dla entuzjastów TypeScript, nie zapominajmy o typach. Chociaż tutaj zajmujemy się głównie stringami, kiedy pracujesz z danymi wejściowymi użytkownika lub parsowaniem, wprowadzenie pewnych strażników typu lub nawet ogólników może pomóc zapewnić, że Twoje kody są tak bezpieczne, jak Twoje przycięte cudzysłowy.

Zobacz również

Sprawdź te wirtualne miejscówki po więcej informacji: