Ruby:
Quotes verwijderen uit een string
Hoe:
Ruby heeft enkele slimme trucjes om die lastige aanhalingstekens weg te knippen. Je kunt de methoden gsub
of delete
gebruiken om de klus te klaren. Hier is wat code om op te kauwen:
# Met gsub dubbele en enkele aanhalingstekens verwijderen
quoted_string = "\"Zeg 'hallo' tegen mijn kleine vriend!\""
unquoted_string = quoted_string.gsub(/'|"/, '')
puts unquoted_string
# Uitvoer: Zeg hallo tegen mijn kleine vriend!
# Als je weet dat je alleen met één type aanhalingsteken te maken hebt
single_quoted_string = "'Blijf een tijdje en luister!'"
clean_string = single_quoted_string.delete("'")
puts clean_string
# Uitvoer: Blijf een tijdje en luister!
Diepgaande Duik
De geschiedenis van aanhalingstekens gaat terug tot de vroegste dagen van programmeren, waar ze vaak dienden als stringdelimiters. Vandaag de dag, net als toen, zou je jezelf kunnen vinden in de situatie dat je deze aanhalingstekens moet verwijderen wanneer ze niet nodig zijn of wanneer ze kunnen interfereren met gegevensopslag en -manipulatie.
We hebben het gehad over gsub
en delete
, maar er zijn ook andere methoden, zoals tr
of tr_s
, die je een beetje meer controle geven of sommige verschillende use cases kunnen behandelen:
# tr kan ook aanhalingstekens verwijderen
double_quoted_string = "\"Doen of niet doen, er is geen poging.\""
clean_string = double_quoted_string.tr('\"', '')
puts clean_string
# Uitvoer: Doen of niet doen, er is geen poging.
Onthoud dat elke methode zijn gebruiksscenario’s heeft. gsub
is krachtiger wanneer je te maken hebt met complexe patronen of meerdere vervangingen. delete
en tr
werken prachtig voor eenvoudige, rechtlijnige karakterverwijderingen.
Zie Ook
Voor aanvullend leesmateriaal, en om deze methoden in actie te zien binnen grotere codebases, bekijk:
- De Ruby-documentatie voor String#gsub, String#delete, en String#tr.
- Ruby Monstas heeft een geweldige String-oefenset, die werken met aanhalingstekens omvat.
- Stack Overflow discussies over stringmanipulatie bieden echte problemen en oplossingen van mede-Rubyisten.