Merkkijonosta lainausmerkkien poistaminen

JavaScript:
Merkkijonosta lainausmerkkien poistaminen

Miten:

Kuvittele, että sinulla on merkkijono, joka on kiedottu lainausmerkkeihin, kuten "\"Hello, World!\"" ja haluat puhtaan, lainaamattoman tekstin. Tässä on nopea JavaScript-katkelma vapauttamaan merkkijonosi näistä lainausmerkki kahleista:

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

Entä jos käsittelet yksittäisiä lainausmerkkejä? Muokkaa vain regexiä hieman:

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

Entä jos merkkijonosi on sekoitus molempia? Ei hikiä:

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

Syväsukellus

Ennen JSONin valta-aikaa lainausmerkkien välttäminen oli villi länsi kauttaviivoista ja kikoista. Varhaiset ohjelmointikielet eivät aina tulleet toimeen lainausmerkkien kanssa, mikä tarkoitti paljon manuaalista merkkijonomanipulaatiota. Nyt, standardoitujen dataformaattien kanssa, lainausmerkkien poistaminen on usein kyse syötteiden siivoamisesta ennen niiden käsittelyä JSONina tai tekstin tallentamisesta ilman muotoiluristiriitoja.

Vaihtoehdot .replace()-metodille? Toki! Voisit halkaista ja yhdistää merkkijonon lainausmerkkien kohdalta, käyttää slice-metodia, jos olet varma lainausmerkkiesi sijainnista, tai jopa regex-hakua vetääksesi esiin tarvittavan tekstin. Kaikki riippuu kontekstista.

Mutta älä unohda reunatapauksia: lainausmerkit lainausmerkkien sisällä, escapetut lainausmerkit ja kansainväliset merkit. Ajattele merkkijonoasi mahdollisena poikkeusten miinakenttänä ja kulje varoen. Nykyaikaiset JavaScript-moottorit on optimoitu käsittelemään regex-operaatioita tehokkaasti, joten ne ovat yleensä ensisijainen valinta, mutta raskaiden datankäsittelytehtävien suorituskykyä on aina syytä tarkkailla.

Katso myös

Sukella syvemmälle merkkijonomanipulaatioon ja regexiin: