Heim > Artikel > Backend-Entwicklung > Wie kann std::string\'s rfind verwendet werden, um nach einem Präfix zu suchen und einen Teilstring in eine Ganzzahl umzuwandeln?
Verwenden der rfind-Überladungen von std::string, um nach Präfixen zu suchen und Teilstring in Int zu konvertieren
Um festzustellen, ob ein C std::string beginnt Wenn Sie mit einer bestimmten Zeichenfolge arbeiten und eine Teilzeichenfolge in eine Ganzzahl konvertieren, können Sie die überladene rfind-Funktion nutzen.
Auf Zeichenfolgenpräfix prüfen
Verwenden Sie die rfind-Überladung, die eine Suche akzeptiert Positionsparameter (pos). Wenn Sie diesen Parameter auf Null setzen, wird die Suche auf den Anfang der Zeichenfolge beschränkt:
<code class="cpp">std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // The string s starts with the "titi" prefix. }</code>
Teilzeichenfolge in Int konvertieren
Um eine Teilzeichenfolge nach einem bekannten Präfix zu extrahieren und zu konvertieren Um es in eine Ganzzahl umzuwandeln, können Sie eine Kombination aus rfind und substr verwenden:
<code class="cpp">std::string arg = "--foo=98"; size_t pos = arg.rfind("--foo="); if (pos != std::string::npos) { std::string fooValue = arg.substr(pos + len("--foo=")); int value = std::stoi(fooValue); }</code>
Wenn arg in diesem Beispiel „--foo=98“ ist, wird dem Variablenwert der Ganzzahlwert 98 zugewiesen.
STL-Vorteil
Dieser Ansatz vermeidet die Notwendigkeit externer Bibliotheken wie Boost. Es nutzt die von der STL bereitgestellten Standard-String-Manipulationen, die einfach zu implementieren und effizient sind.
C 20-Vereinfachung
In C 20 und höher ist der std:: Die Klassen „string“ und „std::string_view“ führen die Methode „starts_with“ ein, die die Suche nach einem Präfix noch einfacher macht:
<code class="cpp">std::string s = "tititoto"; if (s.starts_with("titi")) { // The string s starts with the "titi" prefix. }</code>
Das obige ist der detaillierte Inhalt vonWie kann std::string\'s rfind verwendet werden, um nach einem Präfix zu suchen und einen Teilstring in eine Ganzzahl umzuwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!