Substring in Ruby abrufen
- die Substring-Methode in Ruby
- Extrahieren eines Teilstrings in Ruby
- Entfernen oder Ersetzen von Teilzeichenfolgen in Ruby
Ein String trägt eine beliebige Folge von Bytes und arbeitet mit dieser Folge und ist eines der Grundelemente aller Programmiersprachen. Als Teil des Grundaufbaus eines jeden Programms sollte man die Arbeit mit Strings beherrschen und wissen, wie man komplexe Operationen mit Strings durchführt.
Wir werden in diesem Artikel anhand von Beispielen vorstellen, wie man in Ruby einen Teilstring aus einem String erstellt.
die Substring-Methode in Ruby
Eine Teilzeichenfolge ist ein Bereich oder ein bestimmtes Array von Zeichen, die aus einer vorhandenen Zeichenfolge entnommen wurden. Das Arbeiten mit einem Teilstring ist ein ziemlich geeigneter Ansatz, wenn der Benutzer an einem bestimmten Teil des Strings arbeiten möchte (wie dem Anfangs-, End- und Mittelteil des Strings).
In Ruby gibt es keine Substring-Methode, und daher verlassen wir uns auf Bereiche und Ausdrücke. Wenn wir den Bereich verwenden möchten, müssen wir Punkte zwischen dem Start- und Endindex des Teilstrings verwenden, um einen neuen Teilstring aus dem Hauptstring zu erhalten.
Wir können auch Kommas (``) nur dann zwischen 2 Zahlen verwenden, wenn wir den Startpunkt der Teilzeichenfolge verwenden möchten. Die zweite Zahl stellt die Anzahl der Elemente dar, die wir vom Startpunkt in unserem Teilstring haben möchten.
Betrachten wir als Bereichsbeispiel zunächst den String a "virus"
, der 5 Zeichen von 0 bis 4 enthält. Wenn wir einen Teilstring auf umgekehrte Weise erhalten möchten, können wir das negative Ende eines Bereichs verwenden, und wir Zählen Sie von der Länge der Zeichenfolge rückwärts.
Punkte (.
) können als Punktzeichen in Ruby verwendet werden, und wir können die Punktzeichen innerhalb von Bereichen verwenden. Wir können 2 oder 3 Perioden verwenden.
Im Gegensatz zu Python können wir keine Doppelpunkte (:
) innerhalb der Bereiche verwenden. Stattdessen können wir Punkt(.
)-Bereiche verwenden.
Wie unten gezeigt, verwenden wir das obige Szenario, um einen Teilstring in Ruby zu erhalten.
Code:
# ruby
StringForSub = "virus"
StartSub = value[0..3]
MidSub = value[2..3]
EndSub = value[3..-1]
puts StartSub
puts MidSub
puts EndSub
Ausgang:
Die obige Ausgabe erleichtert das Erstellen von Teilzeichenfolgen aus der Hauptzeichenfolge mithilfe der Indizierungsmethode.
Wenn wir Kommas (``) innerhalb der Bereiche verwenden möchten, verwenden wir 2 Zahlen. Die erste Zahl ist der Startpunkt des neuen Teilstrings und die zweite Zahl ist die Länge des Teilstrings.
Dieses nächste Beispiel verwendet die Substring-Komma-Syntax in Ruby.
Code:
# ruby
mainString = "Ruby"
endSub = mainString[1,3]
puts endSub
midSub = mainString[1,2]
puts midSub
Ausgang:
Wir können auch Kommas (``) innerhalb der Indizierungsmethode verwenden, um einen Bereich zu erhalten, indem wir Start- und Endwerte für unsere neue Teilzeichenfolge bereitstellen.
Extrahieren eines Teilstrings in Ruby
Jeglicher bösartiger Code kann vermieden werden, indem Eingaben von Benutzern lokalisiert und bereinigt werden, indem eine bestimmte Teilzeichenfolge unter den Zeichenfolgen lokalisiert wird. Eine Teilzeichenfolge kann mit verschiedenen Methoden gefunden werden, z. B.:
- Ruby-Methode
include?()
. - RegEx-Methode.
- Referenz des Ruby-String-Elements [].
die Ruby include?()
-Methode
Diese integrierte Methode ist die einfachste Methode, um eine Teilzeichenfolge zu finden.
Lassen Sie uns ein Beispiel haben, in dem wir eine Zeichenfolge als Informationseingabe durch den Benutzer verwenden. Um zu überprüfen, ob der Inhalt Spam-Elemente enthält oder nicht.
# ruby
mainStr = 'User submitted this content. It is a spam'
if mainStr.include?("spam")
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
Ausgang:
Es kann die Teilzeichenfolge aus der Hauptzeichenfolge erkennen, aber eine Sache, die Sie beachten sollten, ist, dass es sich um eine Methode handelt, bei der die Groß- und Kleinschreibung beachtet wird.
Da der Rückgabewert der Methode ein boolescher Wert ist (true
oder false
), der angibt, ob der Teilstring verfügbar ist oder nicht; Daher implementieren wir eine if-else
-Anweisung, um entsprechend zu handeln.
Ein Nachteil bei der Verwendung des include?
Methode ist, dass zwischen Groß- und Kleinschreibung unterschieden wird und Spam eine falsche
Aussage zurückgeben kann. Es ist wichtig, die gesamte Zeichenfolge in Groß- oder Kleinbuchstaben umzuwandeln und dann eine bestimmte Teilzeichenfolge innerhalb einer Zeichenfolge zu suchen.
Die Methode zum Konvertieren in Großbuchstaben ist wie folgt.
Code:
# ruby
mainStr = 'User submitted this content. It is a SPAM!'
if mainStr.include?("spam".upcase)
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
Ausgang:
Stellen wir uns das gleiche Szenario vor, aber wir müssen Kleinbuchstaben verwenden.
Code:
# ruby
mainStr = 'User submitted this content. It is a SPAM!'
if mainStr.include?("spam".downcase)
puts "Spam Content! Content Deleted"
else
puts "Content Saved"
end
Ausgang:
Wie Sie sehen, können wir Teilzeichenfolgen verwenden, um unser System sicher zu machen, indem wir die Teilzeichenfolgen aus den übermittelten Daten auf Spam oder andere Arten von Inhalten prüfen, die wir nicht in unserer Anwendung speichern möchten.
die RegEx-Methode in Ruby
Ruby gibt mit dieser Methode nil
zurück, wenn der spezifische Teilstring nicht innerhalb des Strings gefunden wird. Bei dieser Methode wird ein einfacher regulärer Ausdruck verwendet, um zu prüfen, ob der String dem angegebenen regulären Ausdrucksmuster spam
entspricht.
Code:
# ruby
mainStr = 'User submitted this content. It is a spam!'
puts mainStr =~ /spam
Ausgang:
Wir können den erforderlichen Teilstring auch mithilfe der RegEx-Methode aus einem String finden und die Position des Teilstrings innerhalb eines Strings zurückgeben. Wenn der Teilstring nicht gefunden wird, wird nil
zurückgegeben.
Zeichenfolgenelement-Referenz []
-Methode in Ruby
Die Ruby-String-Referenzmethode übergibt entweder einen String, einen Indexwert oder einen regulären Ausdruck in einem Paar eckiger Klammern.
Code:
# ruby
mainStr = 'spam'
puts mainStr['spam']
puts mainStr['[not-spam]']
Ausgang:
Es gibt den ursprünglichen String zurück, wenn der prüfende Teilstring im Hauptstring vorhanden ist, oder es gibt nil
zurück, wenn der Teilstring nicht im Hauptstring vorhanden ist.
Für reguläre Ausdrücke:
# ruby
mainStr = 'spam'
puts mainStr[/spam/]
Ausgang:
Entfernen oder Ersetzen von Teilzeichenfolgen in Ruby
Wenn eine bestimmte Teilzeichenfolge aus der Hauptzeichenfolge ersetzt oder entfernt werden muss, können wir die einfache Zuweisungsmethode verwenden. Wir können die Indexmethode verwenden, um den Wert zu ändern.
Code:
# ruby
mainStr="Hello World!"
mainStr[0..4] = "Bye"
puts mainStr
Ausgang:
Verwenden Sie die Indizierungsmethode, um einen bestimmten Teil der Hauptzeichenfolge zu ersetzen oder zu entfernen, indem Sie einfach den Wert dem Teil der Zeichenfolge zuweisen.