Heim > Backend-Entwicklung > C++ > Wie kann ich in C nach Präfixen suchen und numerische Teilzeichenfolgen extrahieren?

Wie kann ich in C nach Präfixen suchen und numerische Teilzeichenfolgen extrahieren?

Mary-Kate Olsen
Freigeben: 2024-11-03 09:22:29
Original
787 Leute haben es durchsucht

How Can I Check for Prefixes and Extract Numeric Substrings in C  ?

Präfix prüfen und numerische Teilzeichenfolge in C extrahieren

In Python prüfen, ob eine Zeichenfolge mit einem bestimmten Präfix beginnt, und Konvertieren einer Teilzeichenfolge in eine Ganzzahl ist eine einfache Aufgabe. In C ist jedoch möglicherweise nicht sofort ersichtlich, wie eine ähnliche Funktionalität erreicht werden kann.

Um festzustellen, ob eine Zeichenfolge mit einer bestimmten Teilzeichenfolge beginnt, können wir die Funktion rfind verwenden, wobei der Parameter pos auf Null gesetzt ist. Dadurch wird sichergestellt, dass die Suche auf den Anfang der Zeichenfolge beschränkt ist. Zum Beispiel:

<code class="cpp">std::string str = "tititoto";
if (str.rfind("titi", 0) == 0) {
    // The string starts with "titi"
}</code>
Nach dem Login kopieren

Im obigen Beispiel ist pos auf Null gesetzt, wodurch die Suche auf das Präfix beschränkt wird. Daher gibt rfind 0 zurück, wenn die Zeichenfolge mit der angegebenen Teilzeichenfolge beginnt. Andernfalls wird std::string::npos zurückgegeben, was auf einen Fehler hinweist.

Mit C 20 und höher wird der Prozess durch die Einführung von „starts_with“ in std::string und std::string_view einfacher.

<code class="cpp">std::string str = "tititoto";
if (str.starts_with("titi")) {
    // The string starts with "titi"
}</code>
Nach dem Login kopieren

Um einen numerischen Teilstring aus einem String zu extrahieren, können wir std::stoi verwenden. Wenn wir beispielsweise eine Zeichenfolge wie „--foo=98“ haben, können wir den numerischen Wert wie folgt extrahieren:

<code class="cpp">std::string arg = "--foo=98";
std::size_t pos = arg.find("--foo=");
if (pos != std::string::npos) {
    std::string foo = arg.substr(pos + sizeof("--foo=") - 1);
    int foo_value = std::stoi(foo);
}</code>
Nach dem Login kopieren

In diesem Fall verwenden wir find, um die Position des „ --foo=" Präfix. Wenn wir sie finden, extrahieren wir die Teilzeichenfolge mit substr und konvertieren sie mit std::stoi in eine Ganzzahl.

Diese Techniken bieten effiziente und prägnante Lösungen für die Arbeit mit Zeichenfolgen in C.

Das obige ist der detaillierte Inhalt vonWie kann ich in C nach Präfixen suchen und numerische Teilzeichenfolgen extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage