Suchen und Ersetzen von Text

Ruby:
Suchen und Ersetzen von Text

How to:

text = "Hallo Welt! Hallo Programmierung!"

# Einfacher Ersatz
ersetzter_text = text.gsub('Hallo', 'Tschüss')
puts ersetzter_text  # "Tschüss Welt! Tschüss Programmierung!"

# Mit Regex (Reguläre Ausdrücke)
regex_ersetzter_text = text.gsub(/H.llo/, 'Servus')
puts regex_ersetzter_text  # "Servus Welt! Servus Programmierung!"

# Block-Form, um dynamisch zu ersetzen
nummeriert_text = text.gsub(/Hallo/) { |match| "Nummerierte Begrüßung #{match.downcase}" }
puts nummeriert_text  # "Nummerierte Begrüßung hallo Welt! Nummerierte Begrüßung hallo Programmierung!"

Deep Dive

Ursprünglich stammt die Idee des Suchens und Ersetzens aus der Textverarbeitung und hat ihren Weg in die Programmierung gefunden. Frühe Editoren wie ed und vi in Unix ermöglichten es bereits, aber in Ruby macht uns die gsub-Methode (global substitute) das Leben leichter. Alternativen außerhalb von Ruby sind beispielsweise sed in Unix oder Suchen-Ersetzen-Funktionen in modernen Editoren wie VSCode.

Intern implementiert Ruby gsub mit leistungsfähigen Regulären Ausdrücken, welche es ermöglichen, komplexe Suchmuster zu definieren und die Leistung beim Durchsuchen des Textes zu optimieren.

See Also