none
Aus der App-Entwickler-Hotline: Strings in der Windows 8-App zerteilen

    Allgemeine Diskussion

  • Hallo zusammen,
    heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

    Ich erhalte von WinRT einen Platform::String. Dieser hat zwar eine Concat-Methode, aber keine Split-Methode. Wie zerteile ich den String?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

    Die Platform::String-Klasse ist nur als eine Art Wrapper für die kleinste gemeinsame Funktionalität aller String-Typen in WinRT gedacht. Vor diesem Hintergrund ergibt eine Split-Methode nur unnötige Probleme. Aber zum Glück lässt sich das Platform::String-Objekt leicht konvertieren. [1]

    Mit diesem Aufruf erhalten wir einen 16-bit breiten Standardstring:

    std::wstring myString( theirString->Data() ); 
    

    Danach können wir auf die üblichen Arten den String zerteilen. Wir haben uns für eine Variante ididaks Lösung [2] entschieden:

    #include <boost/algorithm/string.hpp>

    std::vector<std::wstring> strs;

    boost::split(strs, myString, boost::is_any_of("\t "));

    [1] http://msdn.microsoft.com/de-de/library/windows/apps/hh699879.aspx
    [2]
    http://stackoverflow.com/questions/236129/splitting-a-string-in-c/236976#236976

    Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

    Viele Grüße
    Jonathan Best
    App-Entwickler-Hotline für MSDN Online Deutschland

    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/Hotline

    Donnerstag, 6. Dezember 2012 16:37