der effizienteste Weg, um eine Zeichenfolge zu trennen

7

Ich habe diese Zeichenfolge:

"B82V16814133260"

Was wäre der effizienteste Weg, um zwei Strings daraus zu machen:

linker Teil String: "B82V" Richtiger Teilstring: "16814133260"

Die Regel ist: Nimm alle Zahlen auf der rechten Seite und erstelle eine Zeichenfolge daraus, dann nimm die Erinnerung und lege sie in eine andere Zeichenfolge.

Das ist meine Lösung, aber es ist zu sperrig! Wie geht es kurz und effizient?

%Vor%     
Andrew 28.03.2012, 18:52
quelle

6 Antworten

14

Dies ergibt, was Sie erwarten:

%Vor%     
Austin Salonen 28.03.2012, 18:59
quelle
5

Nun, die andere Antwort ist wahrscheinlich besser, aber ich habe das trotzdem geschrieben, also poste ich es:

Bedürfnisse:

%Vor%

Code:

%Vor%     
mowwwalker 28.03.2012 19:07
quelle
4

Dies sollte sehr schnell sein:

%Vor%     
Balazs Tihanyi 28.03.2012 19:01
quelle
2

Ich habe 'effizienteste' als 'schnellste' gelesen.

Ich schrieb einen schnellen Test mit einer langen Zeichenfolge, die 10 Millionen Mal lief.

Austins Lösung, um TrimEnd zu verwenden, lief in 4.649s

Meine Lösung lief in 1.927 Sekunden

%Vor%

Beachten Sie, dass meine Builds nicht debuggten (im Debugging ist meine Lösung langsamer, aber das liegt daran, dass TrimEnd nicht in Debug-Bits ausgeführt wird). Also, wenn Sie meinen Code in Ihrer Anwendung ausführen und debuggen, wird es langsamer.

    
payo 28.03.2012 19:47
quelle
1

Ich mag linq.

%Vor%

Wahrscheinlich nicht die beste oder stabilste Lösung, aber es funktioniert für Ihre Testzeichenfolge.

    
captncraig 28.03.2012 19:02
quelle
0
%Vor%     
Aheho 28.03.2012 19:15
quelle