Eine typische Operation bei der Arbeit mit Zeichenfolgen bestimmt, ob eine Zeichenfolge ein bestimmtes Substring enthält. Sie können diese Methoden verwenden, um die Eingaben von Benutzern zu lokalisieren und zu desinfizieren, wodurch ein böswilliger Code verhindert wird.
In diesem Tutorial zeigen wir Ihnen, wie Sie feststellen, ob eine Zeichenfolge ein bestimmtes Substring enthält.
Ruby inklusive? Methode
Der einfachste Weg zu finden, ob ein bestimmter Substring in einer anderen Zeichenfolge verwendet wird, besteht darin? integrierte Methode.
Hier ist ein Beispiel:
str = 'Im obigen Beispiel haben wir ein einfaches Programm, das Informationen aus einer HTML -Formeingabe enthält. Wir überprüfen, ob das Formular eine Post -Methode mithilfe der Include -Methode enthält.
Da der Rückgabewert der Methode ein boolescher wahr oder falsch ist, wenn das Substring verfügbar ist bzw. nicht, implementieren wir eine if… else -Anweisung, um entsprechend zu handeln.
Die Beispielausgabe aus dem obigen Skript ist wie gezeigt:
$ Ruby Substring.rbWenn wir die Formulardaten ersetzen und die Methode auf einen GET einstellen, können wir den else -block als:
str = 'Wir führen das Skript als:
$ Ruby Substring.rbEin Nachteil des Include? Methode ist es, wenn es sich um Fallempfindungen handelt. Dies bedeutet, dass Post und Post einen falschen Wert zurückgeben.
Zum Beispiel:
STR = 'Post'Wenn wir das obige Beispiel ausführen, sollten wir eine Ausgabe aus dem Elend -Block erhalten wie:
$ Ruby Substring.rbUm dies zu überwinden, können wir zuerst die gesamte Zeichenfolge in den unteren Fall oder Großbuchstaben konvertieren und dann überprüfen, ob sich das Substring innerhalb der Hauptzeichenfolge befindet.
Hier ist ein Beispiel:
STR = 'Post'In diesem Beispiel konvertieren wir das Substring in Großbuchstaben, das der Hauptzeichenfolge entspricht, und überprüfen den Wert.
$ Ruby Substring.rbVerwenden von Regex
Wir können Regex verwenden, um zu überprüfen, ob eine Zeichenfolge ein bestimmtes Substring enthält. Ruby kehrt NIL zurück, wenn das angegebene reguläre Expressionsmuster in der Zeichenfolge nicht innerhalb der Zeichenfolge liegt.
Zum Beispiel:
str = 'Im obigen Beispiel verwenden wir einen einfachen regulären Ausdruck, um zu überprüfen, ob die Zeichenfolge das Substring "Post" enthält.
Wenn wir das Skript oben ausführen, sollten wir eine ähnliche Ausgabe wie unten erhalten:
$ Ruby Substring.rbDer Rückgabewert des regulären Ausdrucks ist der Anfangsindex, in dem der Match -Fall gefunden wird. In unserem Beispiel beginnt die Post -Zeichenfolge aus dem Index 33. Wir können verifizieren wie:
str = '…Im obigen Beispiel starten wir den Anfangsindex, in dem die Zeichenfolge festgestellt wird, um die Länge des Substring zu entsprechen:
$ Ruby Substring.rbRuby String Element Referenz []
Wir können auch die Ruby -String -Referenzmethode verwenden. Wir können entweder eine Zeichenfolge, einen Indexwert oder einen regelmäßigen Ausdruck in einem Paar quadratische Klammern übergeben.
Beispiel Verwendung:
STR = 'Post'Wenn wir das obige Beispiel ausführen, sollten wir eine Ausgabe als:
=> PostWenn das Substring verfügbar ist, gibt es die tatsächliche Zeichenfolge zurück. Es wird jedoch Nil zurückgeben, wenn kein Substring vorhanden ist.
Der gleiche Fall gilt für reguläre Ausdrücke.
STR = 'Post'Wir können auch die obige Methode verwenden, um ein Substring zu extrahieren. Um beispielsweise 10 Zeichen nach der Übereinstimmung zu extrahieren, können wir dies tun:
STR = 'Post ------ String fährt hier fort.'Das obige Beispiel wird nach dem Index, in dem sich die Übereinstimmung befindet.
Abschluss
In diesem Handbuch haben Sie gelernt, wie man überprüft? Methode, reguläre Ausdrücke und String -Elementreferenz.