Extrahieren eines Teilstrings - find() und substr()
-
ich möchte einen Teilstring (Zahl) aus einem String extrahieren, und zwar so:
#include <iostream> #include <string> using namespace std; int main() { string line = "(5/16)\n"; cout<<line; string::size_type Pos1 = line.find("/"); string::size_type Pos2 = line.find(")"); string FirstVNr = line.substr(1, Pos1-1); string SecondVNr = line.substr(Pos1+1, Pos2-1); cout<<"Pos1: "<<Pos1<<" Pos2: "<<Pos2<<endl; cout<<FirstVNr<<" "<<SecondVNr<<endl; cin.get(); }
Ausgabe:
(5/16) Pos1: 2 Pos2: 5 5 16)
Wieso krieg ich hier für SecondVNr keine reine Zahl??
-
substr() nimmt die Parameter, Startposition und Länge, nicht Endposition.
So müsste es gehen:
string SecondVNr = line.substr(Pos1+1, Pos2-Pos1-1);
-
hey, perfekt!
vielen dank für deine hilfeUnd: Wo sonst gibts nach weniger als einer halben Stunde (mind.) eine treffende Anwort??