So teilen Sie einen String mit runden Klammern in ein mehrdimensionales Array

8

Ich habe den folgenden String:

%Vor%

Ich möchte das in ein mehrdimensionales Array aufteilen:

%Vor%

so dass:

%Vor%

Ich kann es tun, indem ich die ersten und letzten Parens streiche und "), (und dann durch das Array schlinge und einen weiteren Split mache. Aber ich fühle mich dreckig, unpraktisch, wie ein Stripper (Wortspiel beabsichtigt) in einem Backalley Bar ... gibt es einen saubereren Weg?

Vielleicht einige LINQ zur Rettung?

Ich benutze C #.

    
OpenR 24.02.2012, 20:48
quelle

4 Antworten

5
%Vor%     
Ed Chapel 24.02.2012, 20:57
quelle
3

Sie sollten in der Lage sein, ein gezacktes Array (wie Ihr Code zeigt) daraus zu erstellen mit String Splitting und LINQ ziemlich leicht:

%Vor%     
Reed Copsey 24.02.2012 20:54
quelle
3

Regex ist dein Freund. Hier ist ein einfacher Codeschnipsel, der das für Sie erledigt.

%Vor%

Hoffe, das hilft!

    
SageMage 24.02.2012 23:56
quelle
0

Sie können Ihre Daten mit regulären Ausdrücken erhalten

Ein reqular-Ausdruck ist: (\(([A-Z]+)\,?\))+ , damit erhalten Sie x, y, z in Gruppen .. und fügen Sie sie dann einfach in Ihr Array der zweiten Dimension ein:)

    
Alex 24.02.2012 20:58
quelle

Tags und Links