Abrufen des letzten Zeichens einer Zeichenkette in C++

Suraj P 12 Oktober 2023
  1. Verwenden Sie std::string::at, um das letzte Zeichen aus einem String in C++ zu erhalten
  2. Verwenden Sie std::string::back(), um das letzte Zeichen aus einem String in C++ zu erhalten
  3. Verwenden Sie std::string::rbegin(), um das letzte Zeichen aus einem String in C++ zu erhalten
  4. Verwenden Sie std::string:begin() und reverse(), um das letzte Zeichen aus einem String in C++ zu erhalten
  5. Verwenden Sie die Array-Indizierung, um auf die Zeichen einer Zeichenfolge in C++ zuzugreifen
Abrufen des letzten Zeichens einer Zeichenkette in C++

Dieser Artikel wird verschiedene Methoden lehren, um das letzte Zeichen aus einer Zeichenfolge in C++ zu erhalten.

Verwenden Sie std::string::at, um das letzte Zeichen aus einem String in C++ zu erhalten

Wir können std::string::at verwenden, um ein Zeichen an einer bestimmten Position aus einem String zu extrahieren.

Syntax:

char& string::at(size_type indexNo)

Dies gibt das Zeichen an einer bestimmten Position an der vom Benutzer angegebenen indexNo zurück. Die Methode löst eine out_of_range-Ausnahme aus, wenn eine ungültige Indexnummer übergeben wird, z. B. ein Index kleiner als Null oder ein Index größer oder gleich string.size().

Beispiel: Extrahieren des letzten Zeichens und des Zeichens an einer bestimmten Position.

#include <iostream>
using namespace std;

int main() {
  string str("Spider Man");

  cout << "Character at position 3: " << str.at(3) << endl;

  int length = str.size();

  cout << "Character at last position: " << str.at(length - 1) << endl;
}
Erläuterung
Um das Zeichen an der letzten Position zu erhalten, ermitteln wir zuerst die Länge des Strings und übergeben length-1 in der Methode std::string::at().

Ausgabe:

Character at position 3: d
Character at last position: n

Verwenden Sie std::string::back(), um das letzte Zeichen aus einem String in C++ zu erhalten

std::string::back() in C++ gibt die Referenz auf das letzte Zeichen des Strings. Dies funktioniert nur bei nicht leeren Zeichenfolgen.

Diese Funktion kann auch das Zeichen am Ende der Zeichenfolge ersetzen.

Syntax:

  1. Zugriff auf das letzte Zeichen.

    char ch = string_name.back();
    
  2. Um das am Ende der Zeichenfolge vorhandene Zeichen zu ersetzen.

    str.back() = 'new_char_we_to_replace_with';
    

Diese Funktion nimmt keinen Parameter und gibt die Referenz auf das letzte Zeichen der Zeichenfolge. Es zeigt ein undefiniertes Verhalten, wenn es auf eine leere Zeichenfolge angewendet wird.

Beispielcode:

#include <iostream>
using namespace std;

int main() {
  string str("Spider Man");
  char ch = str.back();

  cout << "Character at the end " << ch << endl;

  str.back() = '@';

  cout << "String after replacing the last character: " << str << endl;
}

Ausgabe:

Character at the end n
String after replacing the last character: Spider Ma@

Verwenden Sie std::string::rbegin(), um das letzte Zeichen aus einem String in C++ zu erhalten

std::string::rbegin() steht in C++ für Reverse Beginning. Diese Funktion wird verwendet, um auf das letzte Zeichen der Zeichenfolge zu zeigen.

Syntax:

reverse_iterator it = string_name.rbegin();

Diese Funktion enthält keinen Parameter und gibt den umgekehrten Iterator zurück, der auf das letzte Zeichen der Zeichenfolge zeigt.

Beispielcode:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string str("Spider Man");

  string::reverse_iterator it = str.rbegin();

  cout << "The last character of the string is: " << *it;
}

Ausgabe:

The last character of the string is: n

Verwenden Sie std::string:begin() und reverse(), um das letzte Zeichen aus einem String in C++ zu erhalten

std::string::begin() in C++ gibt den Iterator ohne Parameter an den Anfang des Strings zurück.

Syntax:

string::iterator it = string_name.begin();

std::string::reverse() ist eine eingebaute Funktion in C++, um einen String direkt umzukehren. Es nimmt begin und end Iteratoren als Argumente.

Diese Funktion ist in der Header-Datei algorithm definiert.

Syntax:

reverse(string_name.begin(), string_name.end());

Um das letzte Zeichen aus der Zeichenfolge zu erhalten, kehren wir zuerst die Zeichenfolge mit der Methode reverse um und verwenden dann die Methode begin(), um die Referenz des ersten Zeichens der Zeichenfolge (das das letzte Zeichen vor der Umkehrung war) zu erhalten und zu drucken es.

Beispielcode:

#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

int main() {
  string str("Spider Man");

  reverse(str.begin(), str.end());

  string::iterator it = str.begin();

  cout << "The last character of the string is: " << *it;
}

Ausgabe:

The last character of the string is: n

Verwenden Sie die Array-Indizierung, um auf die Zeichen einer Zeichenfolge in C++ zuzugreifen

Wir können auf die Zeichen eines Strings zugreifen, indem wir mit seiner Indexnummer darauf verweisen und ihn in eckige Klammern [] übergeben.

Beispielcode:

#include <iostream>

using namespace std;

int main() {
  string str("Bruce banner");

  int length = str.size();

  cout << "The last character of the string is " << str[length - 1];
}

Um das letzte Zeichen zu erhalten, ermitteln wir zuerst die Länge des Strings und übergeben Länge-1 in den eckigen Klammern.

Ausgabe:

The last character of the string is r
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

Verwandter Artikel - C++ String