Boost :: Split mit der ganzen Zeichenfolge als Trennzeichen

8

Ich würde gerne wissen, ob es eine Methode gibt, die boost :: split verwendet, um eine Zeichenkette mit ganzen Zeichenketten als Trennzeichen zu teilen. Zum Beispiel:

str="xxaxxxxabcxxxxbxxxcxxx"

Gibt es eine Methode, um diese Zeichenfolge mit "abc" als Trennzeichen zu trennen? Daher zurück:

Ergebnisse wäre die Zeichenfolge "xxaxxxx" und "xxxxbxxxcxxx"

Ich kenne boost :: split mit dem Prädikat "is_any_of", aber das Aufrufen von "is_any_of (" abc ")" würde dazu führen, dass die Zeichenfolge beim einzelnen Zeichen "a", "b" und "c" aufgeteilt wird. außerdem, was ich nicht will.

jede Hilfe wäre willkommen.

danke

    
andre 15.09.2011, 20:17
quelle

2 Antworten

6

split_regex wie von @Mythli vorgeschlagen, ist in Ordnung. Wenn Sie sich nicht mit Regex beschäftigen wollen, können Sie ifind_all algo verwenden, wie in diesem Beispiel . Sie erhalten iterator_range (Beginn / Ende) aller Vorkommen Ihres Trennzeichens. Ihre Token sind zwischen ihnen (und am Anfang und Ende der Zeichenfolge).

    
Andriy Tylychko 15.09.2011, 20:43
quelle
6

Ja, es gibt einen Weg (das ist ein Weg, den ich kenne, vielleicht gibt es einen besseren Weg) Verwenden Sie boost::algorithm::split_regex , um Zeichenfolgen zu teilen, wobei Trennzeichen reguläre Ausdrücke sind.

Beispiel:

%Vor%     
Mythli 15.09.2011 20:30
quelle

Tags und Links