Einen String splitten



  • Hallo,

    es gibt ja die Funktion String^->Split...
    Die wollte ich gerade testen und einen String anhand eines Trennzeichens "<->" aufsplitten.

    Leider habe ich damit nicht den richtigen erfolg:

    String^ word = "Hallo , -> dies ist <-> ein -> String";
    	String^ sep = "<->";
    	array<Char>^ delimStr = sep->ToCharArray();
    	array<String^>^ split = nullptr;
    	Console::WriteLine("Delimiter : -{0}-", sep);
    
    	split = word->Split( delimStr, 100 );
    
    	Console::WriteLine(split->Length);
    	for(int x=0; x<split->Length; x++)
    		Console::WriteLine("{0}: -*{1}*-", x, split[x]);
    

    Ich bekomme hier eine Ausgabe von insgesammt 7 Zeilen.
    Also wird der Seperator ( sep ) als Array verwendet und der String nach jedem Element geteilt, also erst "<" dann "-" und dann ">" wenn ich das richtig verstanden habe oder ?

    Wie mache ich das das ich einen String anhand von "<->" genau trennen kann ?
    Es müsste dann sozusagen
    1.Hallo , -> dies ist
    2.ein -> String

    dabei herauskommen.

    Matthias



  • String ^str = "Hallo , -> dies ist <-> ein -> String";
      array<String^> ^sep = {"<->"};
      array<String^> ^strArray = str->Split(sep, StringSplitOptions::None);
    
      for each(String ^s in strArray)
        Console::WriteLine(s);
    


  • Hallo,

    he danke, das funktioniert einwandfrei !

    Lag ich ja mal nicht ganz so weit weg von der Lösung 🙂

    Danke
    Matthias


Anmelden zum Antworten