Skip to content

Archives

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Categories

  • Keine Kategorien
Trend RepositoryArticles and guides
Articles

3 Awesome Ways To Use Ruby’s Gsub Method

On Oktober 4, 2021 by admin

Lassen Sie uns über die Methode gsub von Ruby sprechen.

Zunächst brauchen Sie einen String, um mit dieser Methode zu spielen.

Warum?

Weil man gsub auf eine Zeichenkette anwendet, um Teile davon zu ersetzen.

In der Tat:

Das „sub“ in „gsub“ steht für „substitute“, und das „g“ steht für „global“.

Hast du deine Zeichenkette?

Gut.

Wenn nicht, kannst du dir meine ausleihen.

Hier ist sie:

str = "white chocolate"

Sagen wir, wir wollen „weiß“ durch „dunkel“ ersetzen.

So geht’s:

str.gsub("white", "dark")

Das heißt:

Befehlen Sie der Zeichenfolge str, ALLE Vorkommen des ersten Wortes (white) durch das zweite Wort (dark) zu ersetzen.

Das bedeutet, dass wir viel bessere Schokolade essen können.

Ach warte, es ist nur eine Zeichenkette.

Das können wir nicht essen!

Allerdings…

Rubys gsub Methode kann viel mehr als einfache Ersetzung.

Lassen Sie uns ein paar Beispiele sehen.

  • Ersetzen von Mustern mit einem regulären Ausdruck
  • Erweitertes Gsub mit Blöcken
  • Mehrere Begriffe durch einen Hash ersetzen
  • Zusammenfassung

Ersetzen von Mustern mit einem regulären Ausdruck

Ein einzelnes Wort zu ersetzen ist in Ordnung.

Aber was wäre, wenn Sie ein Muster ersetzen könnten?

Zum Beispiel:

Eine Jahreszahl, eine E-Mail-Adresse, eine Telefonnummer usw.

Das können Sie!

Hier ist ein Beispiel:

"a1".gsub(/\d/, "2")# "a2"

Das erste Argument ist ein regulärer Ausdruck, und es ist zu viel, um es hier zu behandeln.

Aber es ist eine Sprache, die nach Mustern sucht.

In diesem Fall sucht \d nach Zahlen, wie die „1“ in „a1“.

Sie können auch so vorgehen:

"a1".gsub(/(\w)(\d)/, '')

Das Ergebnis ist:

"1a"

Wir haben die Reihenfolge vertauscht!

Das funktioniert mit Hilfe einer Funktion namens „Erfassungsgruppen“.

Wir können die Gruppen als für die erste Gruppe, für die zweite Gruppe usw. verwenden.

Gruppen werden mit Klammern erstellt.

Erweitertes Gsub mit Blöcken

Richtig interessant wird es, wenn man gsub mit einem Block verwendet.

Warum?

Weil man innerhalb eines Blocks mit Logik entscheiden kann, wie man etwas ersetzt.

Anstatt einen statischen Wert zu verwenden.

Zum Beispiel:

"dog".gsub(/\w+/) { |animal| animal == "dog" ? "cat" : "dog" }

Wir finden das Tier mit \w+, was „ein oder mehrere alphanumerische Zeichen“ bedeutet.

Dann:

  • Wenn es ein „Hund“ ist, ersetzen wir es durch „Katze“
  • Wenn das Wort etwas anderes ist, ersetzen wir es durch „Hund“

Diese Art von Logik ist nicht möglich mit einem statischen Wert, dem zweiten Parameter von gsub.

Mehrere Begriffe durch einen Hash ersetzen

Wenn Sie eine Liste von Ersetzungen haben, können Sie einen Hash verwenden.

Wie dieser hier:

colors = { "B" => "blue", "G" => "green", "R" => "red"}

Dies funktioniert wie ein Übersetzungswörterbuch, bei dem die Schlüssel durch ihre Werte ersetzt werden.

Hier ist ein Beispiel:

"BBBGR".gsub(/\w/, colors)

Das Ergebnis ist:

"bluebluebluegreenred"

Stellen Sie sicher, dass Ihr erstes Argument mit den Schlüsseln übereinstimmt.

In diesem Fall stimmt \w mit einzelnen Zeichen überein, so dass „B“ durch „blau“ ersetzt wird.

Zusammenfassung

Sie haben die Methode gsub in Ruby kennengelernt! Es ist eine mächtige Methode, mit der man Zeichen innerhalb einer Zeichenkette ersetzen kann.

Sie hat mehrere Verwendungsmöglichkeiten:

  • Entfernen ungültiger Zeichen (indem man das 2. Argument zu einer leeren Zeichenkette macht)
  • Ersetzen von Platzhaltern &Akronymen durch ihre vollen Werte
  • Verwenden von Mustern &Logik zum Ändern einer Zeichenkette

Jetzt bist du an der Reihe, mit dieser Methode zu üben, damit du dein neues Wissen anwenden kannst.

Danke fürs Lesen 🙂

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archive

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Meta

  • Anmelden
  • Feed der Einträge
  • Kommentare-Feed
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress