TypeScript:
Fjerne anførselstegn fra en streng
Hvordan:
Her er din rett-på-sak guide for å kutte bort de irriterende anførselstegnene fra strengene dine i TypeScript.
// Alternativ A: Erstatt enkle eller doble anførselstegn ved bruk av regex
function removeQuotes(input: string): string {
return input.replace(/^["']|["']$/g, '');
}
console.log(removeQuotes(`"Quoted string"`)); // Quoted string
console.log(removeQuotes(`'Another one'`)); // Another one
// Alternativ B: Håndtere strenger som starter og slutter med forskjellige anførselstegn
function removeMismatchedQuotes(input: string): string {
return input.replace(/^(['"])(.*?)(?<!\1)\1$/, '$2');
}
console.log(removeMismatchedQuotes(`"Mismatched'`)); // "Mismatched'
// Alternativ C: Fjerne flere typer anførselstegn
function removeAllQuotes(input: string): string {
return input.replace(/['"]+/g, '');
}
console.log(removeAllQuotes(`"'Mix'n'Match'"`)); // Mix'n'Match
Dypdykk
Langt tilbake før TypeScript var en greie, holdt JavaScript-koderne allerede på med anførselstegn-uenigheter, og historien er stort sett den samme for TypeScript. Ettersom tiden endrer seg, så endres også måten vi skjærer opp strenger på. Nå til dags, med regex sin muskelkraft, dytter vi til side bruk av klønete strengskjæring eller andre kjedelige metoder.
Selv om eksemplene ovenfor burde dekke de fleste av dine behov, husk, sitatbruk kan bli komplekst. Nøstede, mismatchede, og escapede anførselstegn er luringene som venter på å snuble deg opp. For disse kan det hende du trenger mer sofistikerte mønstre eller til og med parsers for å håndtere hver krøllete situasjon.
Alternativer? Noen folk liker å gå med biblioteker som lodash, med metoder som trim
og trimStart
/ trimEnd
, som kan skreddersys til å klippe anførselstegn hvis du setter karakterene du ønsker å snippe.
Og for dere TypeScript-entusiaster, la oss ikke glemme om typene. Selv om vi her stort sett har med strenger å gjøre, når du jobber med brukerinput eller parsing, å kaste inn noen typevoktere eller til og med generikk kan hjelpe sikre at koden din er like sikker som dine anførselstegn er trimmet.
Se Også
Sjekk ut disse virtuelle hotspotene for mer info:
- MDN Web Docs om regex (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)
- Offisiell TypeScript Dokumentasjon (https://www.typescriptlang.org/docs/)
- Du Trenger Ikke Lodash/Underscore – Streng Hjelpere (https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore#strings)
- Stack Overflow: Traverser skyttergravene der utallige utviklere har bekjempet anførselstegnkatastrofer (https://stackoverflow.com/)