String.split durch Semikolon

8

Ich möchte eine Zeichenfolge durch Semikolon (";") teilen:

%Vor%

Aber es entfernt das ";" from string und setzt die gesamte Zeichenfolge auf 'datsplit 1 ' Also ist die Ausgabe:

%Vor%

Demo

und auf

%Vor%

Zeichenfolge gedruckt ist

%Vor%     
s_puria 21.04.2015, 12:09
quelle

3 Antworten

10

Das phrase enthält bidirektionale Zeichen wie right-to-left Einbettung . Aus diesem Grund können einige Editoren die Zeichenfolge nicht korrekt anzeigen.

Dieser Codeabschnitt zeigt die tatsächlichen Zeichen in String (für einige Leute wird phrase hier nicht richtig angezeigt, aber kompiliert und sieht in Eclipse gut aus). Ich übersetze einfach links-rechts mit - & gt; , rechts-nach-links mit & lt; - und < starke> Pop-Richtungen mit ^ :

%Vor%

Drucke:

  

& lt; -; - & gt; 14 / Mai / 2015 ^ ^ & lt; - - & gt; FC ^ ^ & lt; - - & gt; Barcelona ^ ^ & lt; - - & gt; VS. ^ ^ & lt; - - & gt; Wirklich ^ ^ & lt; - - & gt; Madrid

Der String#split() arbeitet mit der tatsächlichen Zeichenkette und nicht mit dem, was der Editor anzeigt, daher können Sie sehen, dass ; das zweite Zeichen nach einem rechts-zu left , das gibt (hüte dich vor der Anzeige: das ; ist nicht Teil der Zeichenkette in dateSplit[1] ):

  

dateSplit [0]="";   dateSplit [1]="14 / May / 2015 FC Barcelona gegen Real Madrid";

Ich schätze, Sie verarbeiten Daten von einer Sprache, die von rechts nach links schreibt und liest, und es gibt eine Vermischung mit den Namen der Football-Teams, die von links nach rechts gehen. Die Lösung besteht sicherlich darin, Richtungszeichen loszuwerden und das ; an die richtige Stelle zu setzen, d. H. Als Trennzeichen für das Token.

    
T.Gounelle 21.04.2015, 13:32
quelle
1

I rewrote Ihr Code, anstatt von hier zu bewältigen und es funktioniert einwandfrei.

%Vor%

Demo

    
Naman Gala 21.04.2015 12:28
quelle
0

Ausschneiden und Einfügen Ihres Codes in IntelliJ hat den Editor verschraubt; wie @Palcente sagte, mögliche Codierungsprobleme.

Ich würde jedoch empfehlen, stattdessen einen StringTokenizer zu verwenden.

%Vor%

Sie können dann darüber iterieren, was zu einem besseren (und sichereren) Code führt.

    
Steve Chaloner 21.04.2015 12:31
quelle

Tags und Links