Ruby:
Ta bort citattecken från en sträng
Hur:
Ruby har några fiffiga knep i ärmen för att klippa bort de där irriterande citattecknen. Du kan använda gsub
eller delete
metoder för att utföra jobbet. Här är lite kod att tugga på:
# Använder gsub för att ta bort dubbla och enkla citattecken
quoted_string = "\"Say 'hello' to my little friend!\""
unquoted_string = quoted_string.gsub(/'|"/, '')
puts unquoted_string
# Utdata: Say hello to my little friend!
# Om du vet att du bara kommer att hantera en typ av citattecken
single_quoted_string = "'Stay a while and listen!'"
clean_string = single_quoted_string.delete("'")
puts clean_string
# Utdata: Stay a while and listen!
Fördjupning
Historien om citattecken sträcker sig tillbaka till programmeringens tidigaste dagar, där de ofta fungerade som strängavgränsare. Nu för tiden, liksom då, kan du finna dig själv i behov av att ta bort dessa citattecken när de inte behövs eller när de kan störa datalagring och manipulation.
Vi har pratat om gsub
och delete
men det finns andra metoder också, som tr
eller tr_s
, som ger dig lite mer kontroll eller kan hantera några olika användningsfall:
# tr kan också ta bort citattecken
double_quoted_string = "\"Do or do not, there is no try.\""
clean_string = double_quoted_string.tr('\"', '')
puts clean_string
# Utdata: Do or do not, there is no try.
Kom ihåg, var och en av dessa metoder har sina användningsfall. gsub
är kraftfullare när du hanterar komplexa mönster eller flera ersättningar. delete
och tr
fungerar vackert för enkla, raka karaktärsborttagningar.
Se även
För ytterligare läsning och för att se dessa metoder i aktion inom större kodbasar, kolla in:
- Ruby-dokumentationen för String#gsub, String#delete, och String#tr.
- Ruby Monstas har ett fantastiskt String övningsuppsättning, som inkluderar arbete med citat.
- Stack Overflow-diskussioner om strängmanipulation ger verkliga problem och lösningar från med-Rubyister.