Ruby:
Slette tegn som matcher et mønster
How to:
Slette med delete
og gsub
:
# Enkel sletting med `delete`:
streng = "Heisann! Hvordan går det?"
renset_streng = streng.delete "!?"
puts renset_streng
# Output: Heisann Hvordan går det
# Mønsterbasert sletting med `gsub`:
epost = "[email protected]"
renset_epost = epost.gsub(/[aeiou]/, "")
puts renset_epost
# Output: [email protected]
Deep Dive
Sletting av tegn i Ruby har solid støtte gjennom metoder som delete
og gsub
. Metoden delete
er rett fram - den fjerner konkret angitte tegn. gsub
går dypere; den støtter regulære uttrykk, som gjør komplekse mønstre mulige å fjerne.
Metoder som tr
og squeeze
er også nyttige - tr
erstatter tegn, mens squeeze
fjerner duplikater. I historisk kontekst har Ruby alltid vært sterk på tekstbehandling, noe som gjør det til et yndet språk for skripting og datahåndtering.
Når det gjelder implementasjon, arbeider gsub
ved å scanne strengen og utføre en erstatning for hvert mønster som matcher, mens delete
kun ser etter eksakte tegnmatcher og fjerner disse.
See Also
For mer om tekstmanipulering:
- Ruby-doc for
String#delete
: https://ruby-doc.org/core/String.html#method-i-delete - Ruby-doc for
String#gsub
: https://ruby-doc.org/core/String.html#method-i-gsub - Regulære uttrykk i Ruby: https://ruby-doc.org/core/Regexp.html