Buchstaben von QString ersetzen und Teile löschen

BlackFusion

Grünschnabel
Hallo Leute,
ich programmiere ein Tool mit der Oberfläche QT-Creator, mit welchem ich Informationen einer XML-Datei einlese und übersichtlich geordnet in einer CSV-Datei(kann man mit Excel öffnen) ausgebe.
nun steh ich vor folgendes Problem:

ich Habe ein QString mit Informationen, die in zwei spalten sollen(bis zum ersten Leerzeichen ins erste und bis zum 2. Leerzeichen ins zweite) und der Rest soll weg.

Bsp: YKMO HUH DD S

benötigen tuh ich nur das YKMO in der ersten spalte und das HUH in der zweiten Spalte, der Rest (DD S) soll weg.
Trennen tuh ich die Spalten mit einem Simokolon, was ich vorher in Excel festgelegt habe.
Bisher hab ich den QString z.B. strInfo folgendermaßen bearbeitet

strInfo.replace(" ", ";");
resultat: YKMO;HUH;DD;S

somit hab ich YKMO in der ersten Spalte und HUH in der zweiten, jedoch steht in der dritten DD und in der vierten ein S.
Die Länge der einzelnen Informationen sind variable, nur fest steht, dass ich die ersten Informaetionen YKMO und die zweiten HUH nur haben will.


Danke schon mal im vorraus, wäre cool wenn mir jemand helfen könnte:)
 
Moin,

verstehe ich das richtig? Du willst aus YKMO;HUH;DD;S -> YKMO;HUH machen?
Du hast ohnehin einen Seperator, d. h. du musst lediglich etwas in der Art machen:
Code:
std::string::size_type idx = strInfo.find(";");
idx = strInfo.find(";",idx); //nur sind wir beim 2. " ; "
strInfo.erase(idx);
Ich habe hier lediglich Standard-C++ benutzt und nicht die Funktionen von QString, das sollte aber kein Problem sein.

Gruß,

badday
 
Zuletzt bearbeitet:
Sry, aber was willst du mit dem Beitrag bewecken? Soweit ist er auch schon, schlicht durch
strInfo.replace(" ", ";");

Gruß,

badday
 
Hallo Leute,
ich programmiere ein Tool mit der Oberfläche QT-Creator, mit welchem ich Informationen einer XML-Datei einlese und übersichtlich geordnet in einer CSV-Datei(kann man mit Excel öffnen) ausgebe.
nun steh ich vor folgendes Problem:

ich Habe ein QString mit Informationen, die in zwei spalten sollen(bis zum ersten Leerzeichen ins erste und bis zum 2. Leerzeichen ins zweite) und der Rest soll weg.

Bsp: YKMO HUH DD S

benötigen tuh ich nur das YKMO in der ersten spalte und das HUH in der zweiten Spalte, der Rest (DD S) soll weg.
Trennen tuh ich die Spalten mit einem Simokolon, was ich vorher in Excel festgelegt habe.
Bisher hab ich den QString z.B. strInfo folgendermaßen bearbeitet

strInfo.replace(" ", ";");
resultat: YKMO;HUH;DD;S

somit hab ich YKMO in der ersten Spalte und HUH in der zweiten, jedoch steht in der dritten DD und in der vierten ein S.
Die Länge der einzelnen Informationen sind variable, nur fest steht, dass ich die ersten Informaetionen YKMO und die zweiten HUH nur haben will.


Danke schon mal im vorraus, wäre cool wenn mir jemand helfen könnte:)

Habe nen Befehl Gefunden:-)

strInfo.section(';',0,1);
damit nimmt er das 1. YKMO bis zum " ; " und das 2. HUH bis zum " ; " und der rest ist weg:-)
 
Zurück