Ich verwendeSplit ein String C++ boost :: Split ohne Spaltung innerhalb zitierten Text
boost::split(strs, r_strCommandLine, boost::is_any_of("\t "));
einen String in Token zu spucken für ein einfaches Skript, das Parsen. So weit, ist es gut. Doch für die folgende Zeichenfolge
command_name first_argument "Second argument which is a quoted string."
würde ich meine Jetons wie
strs[0] = command_name
strs[1] = first_argument
strs[2] = "Second argument which is a quoted string."
Natürlich sein, ich für Anführungszeichen am Anfang suchen konnte und von Token zu beenden und die Token mit „“ Trennzeichen verschmelzenden zwischen dem Auftreten eines Tokens, das mit einem Zitat beginnt, und einem Token, das mit einem Zitat endet, um den String in Anführungszeichen neu zu erstellen, aber ich frage mich, ob es einen effizienteren/eleganteren Weg gibt, dies zu tun. Irgendwelche Ideen?
Escaped '\" 's auch? – Yakk
Willkommen zu Stack Overflow! Ich bin verwirrt durch Ihre Frage. Ist der erste Absatz dieser Frage in irgendeiner Weise auf den Rest der Frage bezogen? –
[' Boost :: Tokenizer '] (http://www.boost.org/doc/libs/1_51_0/libs/tokenizer/introduc.htm) könnte die Funktionalität haben, die Sie benötigen – hmjd