Zeichen von String abschneiden



  • Mit welchem Formalismus kann man Zeichen eines Strings herausschneiden?
    Ich möchte z.B. die letzten 3 Zeichen eines Strings abschneiden.

    Danke für die Hilfe.



  • Schau dir einmal die Methoden substr und erase (und eventuell noch replace) von std::string an.



  • Ich glaube, in diesem speziellen Beispiel will eher resize .

    #include <string>
    #include <iostream>
    
    void dump( std::string const& str )
    {
    	std::cout << ": " << str << '\n';
    }
    
    #include <algorithm>
    
    int main()
    {
    	std::string s{"ABCDEFGHIJKLMNOP"};
    	s.resize( s.length() - 3 ); // Die letzten drei Zeichen abschneiden.
    	dump(s);
    	s.erase( s.begin() + 5, s.begin() + 8 );
    	dump(s);
    	s.pop_back(); // Letztes Zeichen entfernen
    	dump(s);
    	s.erase( std::remove_if( s.begin(), s.end(), [](char c){ return c % 2; } ), s.end() ); // Jedes zweite Zeichen entfernen
    	dump(s);
    }
    

Anmelden zum Antworten