Slette tegn som matcher et mønster

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: