Heim > Artikel > Backend-Entwicklung > C++-Programm, das reguläre Ausdrücke verwendet, um den ersten Buchstaben jedes Wortes auszugeben
Ein nützliches Werkzeug für String-Operationen ist Regex. Dieses kann in praktisch allen High-Level-Operationen gefunden werden Aktuelle Programmiersprachen, einschließlich C++. Reguläre Ausdrücke (Regex) werden verwendet als Universelles Suchmuster. Zum Beispiel durch den Aufbau einer einfachen Zeichenfolge Mit sogenannten regulären Ausdrücken können wir mindestens eine Logik zur Passwortüberprüfung implementieren Ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl, ein Sonderzeichen und die Gesamtlänge beträgt mindestens 8 Zeichen.
In diesem Tutorial schauen wir uns an, wie man mit C++ nur die Anfangsbuchstaben der enthaltenen Wörter anzeigt innerhalb der angegebenen Zeichenfolge. Hier sehen wir uns einen Satz an, der Leerzeichen zur Trennung von Wörtern verwendet Unabhängig davon, ob es sich um Groß- oder Kleinbuchstaben handelt, werden sie vom Computer gelesen Teilen Sie die Zeichenfolge mithilfe eines regulären Ausdrucks auf und geben Sie das erste Zeichen jedes Worts zurück.
Um reguläre Ausdrücke zu verwenden, müssen wir die Regex-Bibliothek mithilfe des „regex“-Headers importieren Bei Verwendung regulärer Ausdrücke benötigen wir die folgende Syntax -
regex obj_name( <regular expression> )
Nachdem wir Regex definiert haben, können wir sie auf verschiedene Arten verwenden. Wir werden unseren beabsichtigten Ansatz sehen unten. Um nun das erste Zeichen des Wortes zu lesen, sieht die Syntax des regulären Ausdrucks wie folgt aus Der folgende Inhalt ist:
\b[a-zA-Z]
Hier bedeutet „b“ den Wortanfang. [a-zA-Z] steht für Groß- oder Kleinbuchstaben Kleinbuchstaben im Bereich von „a“ bis „z“ oder „A“ bis „Z“ Und nur einer davon ist es Werfen wir nun einen Blick auf das Iteratorobjekt, das zum Lesen aller ausgewählten Übereinstimmungen verwendet wird -
regex_token_iterator<string::iterator> iterator_name( <begin pointer of string>, <ending pointer of string>, <regular expression>, <submatch>);In diesem Iterator sind die ersten beiden Parameter die Start- und Endzeiger. Der dritte Parameter ist das angegebene reguläre Ausdrucksobjekt, das wir haben Vorher erstellt. Der vierte Parameter ist die Unterübereinstimmung. Wenn die Unterübereinstimmung 0 ist, wird dies der Fall sein Gibt den Inhalt des übereinstimmenden Elements (zum Zeitpunkt der Übereinstimmung) zurück Submatch ist -1, es stellt dar, wo der Abgleich nicht erfolgt (Umkehrung des Submatches 0). Unterübereinstimmung ist -1, was bedeutet, dass die Übereinstimmung nicht abgeschlossen ist (das Gegenteil von Unterübereinstimmung 0).
#include <iostream> #include <regex> using namespace std; string solve( string s){ string ret = ""; regex e("\b[a-zA-Z]"); regex_token_iterator<string::iterator> i(s.begin(), s.end(), e, 0); regex_token_iterator<string::iterator> end; while (i != end) { ret += (*i++); ret += ", "; } return ret; } int main(){ string s = "A string to read only the first letter of words"; cout << "Given String: " << s << endl; cout << "The first letter of each word: " << solve( s ) << endl; s = "Central Pollution Control Board"; cout << "Given String: " << s << endl; cout << "The first letter of each word: " << solve( s ) << endl; }
Given String: A string to read only the first letter of words The first letter of each word: A, s, t, r, o, t, f, l, o, w, Given String: Central Pollution Control Board The first letter of each word: C, P, C, B,
Das obige ist der detaillierte Inhalt vonC++-Programm, das reguläre Ausdrücke verwendet, um den ersten Buchstaben jedes Wortes auszugeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!